RegOpenKeyExW with HKEY_LOCAL_MACHINE returns 2 on Windows Embedded 7 64 位
RegOpenKeyExW with HKEY_LOCAL_MACHINE returns 2 on Windows Embedded 7 64 bit
我需要从我的应用程序中读取 HKEY_LOCAL_MACHINE\SOFTWARE 中的键值。我使用以下代码片段来执行此操作,但它总是 returns 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
。我 运行 我的应用程序具有管理员权限(使用 运行 As),但这并没有帮助我。
谁能告诉我如何使用 RegOpenKeyExW
.
访问 HKEY_LOCAL_MACHINE
我确实浏览了链接 1, 2 但这对我没有帮助,
对于我的误解,我深表歉意。实际上,我不得不在 RegOpenKeyExW(HKEY_LOCAL_MACHINE, strTmp.c_str(), 0, KEY_READ | KEY_WOW64_32KEY, &hKey))
中使用 KEY_WOW64_32KEY
标志而不是 KEY_WOW64_64KEY
来让我的应用程序正常工作。感谢 Mohamad Elghawi。
我需要从我的应用程序中读取 HKEY_LOCAL_MACHINE\SOFTWARE 中的键值。我使用以下代码片段来执行此操作,但它总是 returns 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
。我 运行 我的应用程序具有管理员权限(使用 运行 As),但这并没有帮助我。
谁能告诉我如何使用 RegOpenKeyExW
.
HKEY_LOCAL_MACHINE
我确实浏览了链接 1, 2 但这对我没有帮助,
对于我的误解,我深表歉意。实际上,我不得不在 RegOpenKeyExW(HKEY_LOCAL_MACHINE, strTmp.c_str(), 0, KEY_READ | KEY_WOW64_32KEY, &hKey))
中使用 KEY_WOW64_32KEY
标志而不是 KEY_WOW64_64KEY
来让我的应用程序正常工作。感谢 Mohamad Elghawi。