KEY_WOW64_64KEY 对 32 位 Windows 有影响吗?
似乎指定了 KEY_WOW64_64KEY
标志 (参考) 在 32 位 Windows XP 下访问注册表项时没有任何效果 - 也就是说,不会引发错误,并且该注册表项会被打开,就好像您没有打开该注册表项一样设置标志。
我知道 Windows 2000 在遇到此标志时会抛出错误。
我想确保我的应用程序与尽可能多的 Windows 版本(2k 及更高版本)兼容。
是否有 Microsoft 参考资料指定每个版本的 Windows 对此标志的行为?特别是,我想要一些东西来验证我的假设,即它对 2k 以后的 32 位 Windows 完全没有影响。
It appears that specifying the KEY_WOW64_64KEY
flag (reference) when accessing a registry key under 32-bit Windows XP has no effect - that is, no error is thrown, and the key is opened as if you hadn't had the flag set.
I know Windows 2000 throws an error when it encounters this flag.
I want to make sure my app is compatible with as many versions of windows (2k and later) as possible.
Is there a Microsoft reference that specifies each version of Windows' behaviour for this flag? In particular, I'd like something that validates my assumption that it has no effect at all on post-2k 32-bit Windows.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
我无法与 Windows 2000 或 XP 对话,但我知道在 Vista 及更高版本上,如果是 64 位操作系统,则 KEY_WOW64_64KEY 打开 64 位注册表中的注册表项,如果是 32 位操作系统,则打开 32 位注册表中的注册表项。
I can't speak to Windows 2000 or XP, but I know that on Vista and above, KEY_WOW64_64KEY opens the registry key in the 64bit registry if it's a 64bit OS and the 32bit registry if it's a 32bit OS.
根据此Windows页面:
https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry-key-security-and-access-rights?redirectedfrom=MSDN
两者
都将在 32- 上被忽略位Windows。
Windows 2000 不支持这些标志。
According to this Windows page:
https://learn.microsoft.com/en-us/windows/win32/sysinfo/registry-key-security-and-access-rights?redirectedfrom=MSDN
Both
will be ignored on 32-bit Windows.
And those flags are not supported on Windows 2000.
我在Windows XP 32位上测试过,看起来工作正常。
I have tested on Windows XP 32 bit, and it seems to work OK.
另外,您通常应该避免使用此键 - WOW64 为 32 位应用程序提供了相当完整的“幻象”;只需在没有此标志的 32 位上正确编写您的应用程序,它仍然可以在 WOW64 上运行。不要尝试使用此标志(和其他机制)来“64 位兼容”。
Also, you should usually be avoiding this key - WOW64 provides a pretty complete "illusion" to 32-bit apps; just write your app properly on 32-bit without this flag, and it will still work on WOW64. Don't try to use this flag (and other mechanisms) to be "64-bit compatible".