尝试读取注册表项时RegQueryValueEx返回0x02?

时间:2014-04-27 12:10:01

标签: c++ registry

我试图从注册表中读取系统使用的图形卡。因此,我使用下面列出的szRegKey / szSubKEy访问注册表。

RegQueryValueEx以错误0x02(ERROR_FILE_NOT_FOUND)退出。

如果我尝试通过带有reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winsat" /v PrimaryAdapterString的cmd访问密钥,则会成功完成。你能解决我的问题吗?

HKEY hKey;
WCHAR szRegKey[]= L"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Winsat";

WCHAR szSubKey[] = L"PrimaryAdapterString";

WCHAR *buf;
DWORD dwBufSize = 0;
DWORD dwType = REG_SZ;

if(RegOpenKeyExW(HKEY_LOCAL_MACHINE, szRegKey, 0, KEY_QUERY_VALUE, &hKey) != ERROR_SUCCESS) {
    return false;
}

if(RegQueryValueExW(hKey, szSubKey, 0, &dwType, NULL, &dwBufSize) != ERROR_SUCCESS) {
    return false;
} 

0 个答案:

没有答案