找不到在 64 位 Windows 上运行 32 位应用程序的 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProductId
确实如标题。在 regedit 中查看键值存在,但 Wow6432 键 (HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion) 没有此键。这意味着 32 位应用程序无法在我的 64 位 Windows 版本上运行...这似乎是错误的,32 位应用程序不应该在不进行修改的情况下运行吗?或者在这种情况下,32 位应用程序必须进行调整才能在 64 位 Windows 上运行?
As title really. Looking in regedit the key-value exists, but the Wow6432 key (HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion) doesn't have this key. This means a 32-bit app doesn't work on my 64-bit Windows version... which seems wrong, shouldn't the 32-bit app run without modifications? Or is this one case 32-bit apps have to be tweaked to work on 64bit Windows?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
应用程序确实不应该直接访问此注册表值。获取此值的最佳方法是使用 WMI 获取 Win32_OperatingSystem 类。这在 Win64 上运行的 32 位应用程序中运行良好。
另一种方法是使用 KEY_WOW64_64KEY 打开注册表项时的标志(在 Windows 2000 上不起作用。)
Applications really shouldn't access this registry value directly. The best way to get this value is to use WMI to get the SerialNumber property of the Win32_OperatingSystem class. This works fine from a 32-bit application running on Win64.
An alternative would be to use the KEY_WOW64_64KEY flag when opening the registry key (does not work on Windows 2000.)