0

我有一些 Javascript 代码,它们将通过将所有必要的键和值写入注册表来以编程方式注册 COM 互操作程序集。此 COM 对象的旧版本是用 VB6 编写的,除非用户手动运行 x86 sidebar.exe,否则无法在 x64 版本的 Windows 上正常工作,因此我们的一些用户会转而使用 x86 sidebar.exe COM 对象工作。

简而言之,我需要正确检测当前运行的操作系统的架构。如果 x86 版本的 sidebar.exe 正在运行,我已经尝试了以下所有返回错误值的方法:

System.Machine.processorArchitecture
navigator.platform
navigator.cpuClass

有什么东西可以用来可靠地检测 Win64 是否正在运行,即使它正在运行 x86 sidebar.exe?

4

1 回答 1

1

弄清楚了:

navigator.userAgent.indexOf("WOW64") > -1

如果 Internet Explorer 在 32 位仿真模式下运行,则评估为 true,sidebar.exe 也是如此。

http://en.wikipedia.org/wiki/WOW64

于 2009-07-20T13:11:32.160 回答