我需要从我的应用程序中读取 HKEY_LOCAL_MACHINE\SOFTWARE 中的键值。我使用以下代码片段来执行此操作,但它始终返回 2。
std::wstring strTmp;
strTmp = L"SOFTWARE\\TEMP";
RegOpenKeyExW(HKEY_LOCAL_MACHINE, strTmp.c_str(), 0, KEY_READ, &hKey))
但是当我使用 HKEY_CURRENT_USER
时,我能够从 HKEY_CURRENT_USER\SOFTWARE
中成功读取信息。我了解由于访问权限,我的应用程序无法从 HKEY_LOCAL_MACHINE
中读取。我确实以管理员权限运行了我的应用程序(使用运行方式),但这并没有帮助我。
谁能阐明我如何使用 RegOpenKeyExW
访问 HKEY_LOCAL_MACHINE
。
最佳答案
我为我的误解道歉。实际上我必须在 RegOpenKeyExW(HKEY_LOCAL_MACHINE, strTmp.c_str(), 0, KEY_READ | KEY_WOW64_32KEY, &hKey))
让我的应用程序正常工作。感谢 Mohamad Elghawi。
关于c++ - 带有 HKEY_LOCAL_MACHINE 的 RegOpenKeyExW 在 Windows Embedded 7 64 位上返回 2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33432214/