Windows中的注册表权限

时间:2012-05-18 20:07:32

标签: windows winapi registry uac

在我的小应用程序中,我试图在注册表中创建一个子键。我在Windows 7中这样做。我已经尝试了RegCreateKeyEx函数的所有可能的密钥组合。我记得在Win XP中一切都很好。然而,它总是返回“访问被拒绝”结果。我发现必须使用用户访问控制设置做一些事情。这些信息以混乱的方式解释,我没有应该做的事情。有人能告诉我出路吗?提前谢谢。

2 个答案:

答案 0 :(得分:2)

根据评论,您正在写信给HKCR。为此,您需要管理员权限。

  1. 在XP上,您的用户是管理员,因此拥有管理员权限。代码成功了。
  2. 在Vista及更高版本上,在UAC处于活动状态时,即使是管理员用户,您的用户也会使用标准用户令牌运行。代码因访问被拒绝而失败。
  3. 如果您确实需要写入此密钥,那么您将需要以管理员权限运行。这将需要一个requireAdministrator清单。

答案 1 :(得分:1)

简短的回答是不要试图写特权键。例如,使用HKEY_CURRENT_USER作为root而不是HKEY_LOCAL_MACHINE

相关问题