|
/*!
* @brief 获取指定注册表路径的键值
*
* @param const CString& path 注册表路径
* @param const CString& key 字段名
* @param [out] CString& value 获取到的返回结果
* @return bool 成功获取返回true
*
* @author 刘杰达
* @date 2020年11月19日
*/
bool _getRegValue(const CString& regPath, const CString& regKey, CString& value)
{
bool ret = false;
// 定义有关的hKEY,在查询结束时要关闭
HKEY hKEY;
// 访问注册表,hKEY则保存此函数所打开的键的句柄
int errorCode = ::RegOpenKeyEx(HKEY_CURRENT_USER, regPath, 0, KEY_READ, &hKEY);
if (errorCode == ERROR_SUCCESS)
{
char dwValue[256];
DWORD dwSize = sizeof(dwValue);
DWORD dwType = REG_SZ;
// 获取注册表键值
errorCode = ::RegQueryValueEx(hKEY, regKey, 0, &dwType, (LPBYTE)&dwValue, &dwSize);
if (errorCode == ERROR_SUCCESS)
{
value.Format(_T("%s"), dwValue);
ret = true;
}
// 程序结束,关闭打开的hKEY,打开失败时不需要关闭
::RegCloseKey(hKEY);
}
return ret;
}
|
|