From a780a3846c051b4cbd2ff8298de773e63779e371 Mon Sep 17 00:00:00 2001 From: Perry Werneck Date: Wed, 1 Sep 2021 16:53:26 -0300 Subject: [PATCH] Adding method to write string to windows registry. --- src/core/windows/registry.c | 15 +++++++++++++++ src/include/windows/lib3270/win32.h | 2 ++ 2 files changed, 17 insertions(+), 0 deletions(-) diff --git a/src/core/windows/registry.c b/src/core/windows/registry.c index 3f826d1..14dbae2 100644 --- a/src/core/windows/registry.c +++ b/src/core/windows/registry.c @@ -67,3 +67,18 @@ LIB3270_EXPORT DWORD lib3270_win32_get_dword(HKEY hKey, const char *name, DWORD return val; } + +LIB3270_EXPORT LSTATUS lib3270_win32_set_string(LPCSTR module, LPCSTR keyname, LPCSTR value) { + + HKEY hKey = 0; + LSTATUS status = lib3270_win32_create_regkey(module, KEY_CREATE_SUB_KEY|KEY_SET_VALUE, &hKey); + + if(status != ERROR_SUCCESS) + return status; + + status = RegSetValueEx(hKey,keyname,0,REG_SZ,(const BYTE *) value,strlen(value)+1); + + RegCloseKey(hKey); + + return status; +} diff --git a/src/include/windows/lib3270/win32.h b/src/include/windows/lib3270/win32.h index fe922ec..6aaa530 100644 --- a/src/include/windows/lib3270/win32.h +++ b/src/include/windows/lib3270/win32.h @@ -50,6 +50,8 @@ LIB3270_EXPORT const char * lib3270_win32_strerror(int e); LIB3270_EXPORT const char * lib3270_win32_local_charset(void); LIB3270_EXPORT LSTATUS lib3270_win32_create_regkey(LPCSTR lpSubKey, REGSAM samDesired, PHKEY phkResult); LIB3270_EXPORT DWORD lib3270_win32_get_dword(HKEY hKey, const char *name, DWORD def); +LIB3270_EXPORT LSTATUS lib3270_win32_set_registry(LPCSTR module, LPCSTR keyname, LPCSTR value); +LIB3270_EXPORT LSTATUS lib3270_win32_set_string(LPCSTR module, LPCSTR keyname, LPCSTR value); /** * @brief Translate windows error code. -- libgit2 0.21.2