【问题标题】:Does KEY_WOW64_64KEY have any effect on 32 bit Windows?KEY_WOW64_64KEY 对 32 位 Windows 有影响吗?
【发布时间】:2010-12-10 15:49:00
【问题描述】:

似乎在 32 位 Windows XP 下访问注册表项时指定 KEY_WOW64_64KEY 标志 (reference) 无效 - 也就是说,不会引发错误,并且密钥就像没有设置标志一样打开。

我知道 Windows 2000 在遇到此标志时会引发错误。

我想确保我的应用与尽可能多的 Windows 版本(2k 及更高版本)兼容。

是否有针对此标志指定每个版本的 Windows 行为的 Microsoft 参考资料?特别是,我想要一些东西来验证我的假设,即它对后 2k 32 位 Windows 完全没有影响。

【问题讨论】:

    标签: windows winapi 64-bit registry 32-bit


    【解决方案1】:

    我无法使用 Windows 2000 或 XP,但我知道在 Vista 及更高版本上,如果是 64 位操作系统,KEY_WOW64_64KEY 会打开 64 位注册表中的注册表项,如果是 32 位操作系统,则打开 32 位注册表。

    【讨论】:

      【解决方案2】:

      此外,您通常应该避免使用此键 - WOW64 为 32 位应用程序提供了相当完整的“幻觉”;只需在没有此标志的 32 位上正确编写您的应用程序,它仍然可以在 WOW64 上运行。不要尝试使用此标志(和其他机制)来“兼容 64 位”。

      【讨论】:

      • 我需要检测是否安装了某些其他应用程序,以及安装在何处 - 并且它们具有 64 位版本。
      • 在这种情况下,您可能应该将您的应用程序编写为 64 位,然后在需要时检查 Wow6432Node,而不是强迫自己考虑每个文件/注册/路径访问,“我应该关心重定向?”
      • 同意,但是现在将大型 Delphi7 代码库转换和重新编译为 64 位并不是一个真正的选择:P
      【解决方案3】:

      我已经在 Windows XP 32 位上进行了测试,它似乎可以正常工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-05-12
        • 1970-01-01
        • 1970-01-01
        • 2013-01-07
        • 1970-01-01
        • 2011-10-02
        • 2014-03-30
        • 1970-01-01
        相关资源
        最近更新 更多