Тема: JScript:определение разрядности ОС
Приветствую. Играл с различными вариантами определения разрядности системы.
Проверял код из под 32-битной версии интерпретатора
var w=[], navigator = new ActiveXObject("HTMLFile").parentWindow.navigator;
w.push(navigator.platform);
w.push(navigator.cpuClass);
w.push(navigator.userAgent);
WScript.Echo(w.join("\n"));
и получил:
---------------------------
Windows Script Host
---------------------------
Win32
x86
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.3; WOW64; Trident/7.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729; WebMoney Advisor; InfoPath.3)
---------------------------
ОК
---------------------------
navigator.platform и navigator.cpuClass некорректно показывают разрядность.
В общем, хотел уйти от использования WMI, реестра. Остановился на следующем варианте:
function GetCPUArc() {
var window = new ActiveXObject("HTMLFile").parentWindow;
return (/WOW64|Win64/i.test(window.navigator.userAgent) || window.navigator.platform=='Win64')?"X64" : "X86";
}