【问题标题】:using RegCreateKeyEx gives error code 5使用 RegCreateKeyEx 给出错误代码 5
【发布时间】:2011-12-01 04:34:17
【问题描述】:

我在 64 位窗口(使用目标 x64 构建的项目)中使用了来自 win32 应用程序(VisualStudio 2008)的 RegCreateKeyEx。它能够创建一个注册表项。现在我有一个 dll 文件(使用目标 x64 构建的项目),它也想创建注册表项,但我的 dll 返回错误代码 5(是的!这是访问被拒绝的标志)。我的 samDesired 标志有 KEY_ALL_Access + 在链接器->manifestfile->以管理员身份运行时选择仍然失败并显示错误代码 5。而它在 32 位窗口中完美运行(项目构建目标 x86)。我错过了什么吗? 注意:我正在尝试在 HKEY_LOCAL_MACHINE 创建一个条目。

【问题讨论】:

  • 当您说“注册表项”时,您是指注册表项还是注册表值?
  • @HarryJohnston 我的意思是注册表项。

标签: windows 32bit-64bit registry


【解决方案1】:

您不能在 HKEY_LOCAL_MACHINE 中创建注册表项,因为这不是配置单元。您需要将钥匙放入HKEY_LOCAL_MACHINE\Software 或(不太可能)其他蜂箱之一。

我不知道为什么当您在 WOW64 中运行 32 位代码时这似乎有效,也许这是注册表的 32 位视图呈现方式的副作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-29
    • 1970-01-01
    • 1970-01-01
    • 2014-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多