获取注册表键值GetRegisterValue
BOOL GetRegisterValue(HKEY key, WCHAR* path, WCHAR* name, std::wstring& strAccessStream)
BOOL GetRegisterValue(HKEY key, WCHAR* path, WCHAR* name, std::wstring& strAccessStream)
{
HKEY hKey = NULL;
bool bIsok = false;
do
{
long lRet = RegCreateKeyEx(key, path, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_READ | KEY_WOW64_64KEY, NULL, &hKey, NULL);
if (ERROR_SUCCESS != lRet)
{
break;
}
DWORD len = 0;
lRet = RegQueryValueEx(hKey, name, 0, NULL, NULL, &len);
if (ERROR_SUCCESS != lRet)
{
break;
}
strAccessStream.resize((len+1)/2);
BYTE* pData = (BYTE*)&strAccessStream.at(0);
lRet = RegQueryValueEx(hKey, name, 0, NULL, pData, &len);
if (ERROR_SUCCESS != lRet)
{
break;
}
bIsok = true;
} while (0);
if (hKey)
{
RegCloseKey(hKey);
}
return bIsok;
}
std::wstring strwValue;
GetRegisterValue(HKEY_LOCAL_MACHINE, L"SYSTEM\\CurrentControlSet\\Control\\MYKEY", L"DefKey", strwValue);
随手分享,手有余香