Надежное определение архитектуры ОС в гаджете Windows Desktop - PullRequest
0 голосов
/ 20 июля 2009

У меня есть некоторый код Javascript, который программно регистрирует сборку взаимодействия COM, записывая все необходимые ключи и значения в реестр. Более старая версия этого COM-объекта была написана на VB6 и не работала корректно в 64-разрядных версиях Windows, если пользователь вручную не запустил x86 sidebar.exe, поэтому некоторые из наших пользователей переключились бы на использование x86 sidebar.exe для COM-объект для работы.

Короче говоря, мне нужно правильно определить архитектуру операционной системы, запущенной в данный момент. Я пробовал все следующие, которые возвращают неправильные значения, если запущена версия sidebar.exe x86:

System.Machine.processorArchitecture
navigator.platform
navigator.cpuClass

Есть ли что-то, что я могу использовать, чтобы надежно определить, работает ли Win64, даже если он запускает x86 sidebar.exe?

1 Ответ

1 голос
/ 20 июля 2009

Разобрался:

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

Значение true, если Internet Explorer работает в режиме 32-битной эмуляции, и то же самое верно для sidebar.exe.

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

...