【发布时间】:2014-05-29 20:16:54
【问题描述】:
在 Windows 7(32 位)中,如果我未在管理员模式下运行,我在 HKEY_LOCAL_MACHINE 上调用 ::RegOpenKeyEx 时始终收到错误 5(访问被拒绝)。
这是我的代码:
result = ::RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\MyCompany\\MyApp"), 0, KEY_QUERY_VALUE, &keySoftware)
我正在尝试构建一个可以为整台机器而不是特定用户安装的应用程序。因此,我的安装程序(在管理员模式下运行)写入 HKEY_LOCAL_MACHINE,并且安装程序工作正常。
我希望我的应用能够读取安装程序放入注册表的数据。我不想更改任何注册表数据。我也尝试过使用 KEY_READ 和 KEY_EXECUTE 而不是 KEY_QUERY_VALUE。但似乎无论我做什么,如果不使用提升的状态,我都无法从 HKEY_LOCAL_MACHINE 读取。我在这里错过了什么?
【问题讨论】:
标签: c++ permissions uac visual-c++-2010