/*-----------------------------------------------** ** Copyright (c) 1998 Microsoft Corporation ** ** All Rights reserved ** ** ** ** reg.c ** ** ** ** Functions for reading, writing, and deleting ** ** registry keys ** ** 07-01-98 a-clindh Created ** **-----------------------------------------------*/ #include "tsvs.h" /////////////////////////////////////////////////////////////////////////////// // i is the index of the KeyName variable in Global.cpp // nKeyValue is the value we want to store. /////////////////////////////////////////////////////////////////////////////// void SetRegKey(int i, LONG * nKeyValue) { HKEY hKey; DWORD dwDisposition; if (RegCreateKeyEx(HKEY_CURRENT_USER, szWinStaKey, 0, "REG_DWORD", REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, 0, &hKey, &dwDisposition) == ERROR_SUCCESS) { // // write the key value to the registry // RegSetValueEx(hKey, KeyName[i], 0, REG_DWORD, (const BYTE *)nKeyValue, sizeof(DWORD)); RegCloseKey(hKey); } } /////////////////////////////////////////////////////////////////////////////// // i is the index of the KeyName variable in Global.cpp /////////////////////////////////////////////////////////////////////////////// void DeleteRegKey(int i) { HKEY hKey; if (RegOpenKeyEx(HKEY_CURRENT_USER, szWinStaKey, 0, KEY_ALL_ACCESS, &hKey) == ERROR_SUCCESS) { RegDeleteValue(hKey, KeyName[i]); RegCloseKey(hKey); } } /////////////////////////////////////////////////////////////////////////////// // returns TRUE if the registry key is there and FALSE if it isn't /////////////////////////////////////////////////////////////////////////////// BOOL CheckForRegKey(int i) { DWORD *dwKeyValue; HKEY hKey; DWORD dwType; DWORD dwSize; dwType = REG_SZ; dwSize = sizeof(DWORD); if (RegOpenKeyEx(HKEY_CURRENT_USER, szWinStaKey, 0, KEY_READ, &hKey) == ERROR_SUCCESS) { if (RegQueryValueEx(hKey, KeyName[i], 0, &dwType, (LPBYTE) &dwKeyValue, &dwSize) == ERROR_SUCCESS) { RegCloseKey(hKey); return TRUE; } RegCloseKey(hKey); } return FALSE; } /////////////////////////////////////////////////////////////////////////////// // pass the index of the KeyName variable and the function // returns the value stored in the registry /////////////////////////////////////////////////////////////////////////////// int GetRegKeyValue(int i) { int nKeyValue; HKEY hKey; DWORD dwType; DWORD dwSize; dwType = REG_SZ; dwSize = sizeof(DWORD); if (RegOpenKeyEx(HKEY_CURRENT_USER, szWinStaKey, 0, KEY_READ, &hKey) == ERROR_SUCCESS) { if (RegQueryValueEx(hKey, KeyName[i], 0, &dwType, (LPBYTE) &nKeyValue, &dwSize) == ERROR_SUCCESS) { RegCloseKey(hKey); return nKeyValue; } RegCloseKey(hKey); } return 0; } ///////////////////////////////////////////////////////////////////////////////