How can I determine programmatically whether my machine is an x86, x64 or an IA64?
A:
cpu-z is the program you want, it will tell you which processor you have and what extensions it supports
Jim Wallace
2009-06-19 16:57:03
http://www.cpuid-pro.com/index.php is the page for developers. This will give loads of detail on CPU, architecture etc if required
2009-06-19 19:46:41
+4
A:
On Windows Systems you can get the environment variable PROCESSOR_ARCHITECTURE. Here is an MSDN article explaining the values that can be returned.
PROCESSOR_ARCHITECTURE=AMD64 PROCESSOR_ARCHITECTURE=IA64 PROCESSOR_ARCHITECTURE=x86
Joe Doyle
2009-06-19 17:02:37
A:
In C#:
using System;
using Microsoft.Win32;
class Class1
{
static void Main(string[] args)
{
RegistryKey RegKey = Registry.LocalMachine;
RegKey = RegKey.OpenSubKey("HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0");
Object cpuSpeed = RegKey.GetValue("~MHz");
Object cpuType = RegKey.GetValue("VendorIdentifier");
Console.WriteLine("You have a {0} running at {1} MHz.",cpuType,cpuSpeed);
}
}
Geoffrey Chetwood
2009-06-19 17:04:39
Instead of getting "VendorIdentifier" you might want to get "ProcessorNameString" which contains the vendors common model name.
galaktor
2009-10-31 13:12:59
A:
What's usually more important than the underlying processor is what mode the OS is running in, in ADDITION to the processor that's installed on the host.
Examine the output of "uname -p" (or uname(2))
Intel adopted AMD's extensions for 64-bit instructions so a value of "x86_64" means you're running either an Intel or AMD 64-bit processor, otherwise you're running the regular x86 ISA.
mbac32768
2009-06-19 20:11:59
+1
A:
VBScript, checking the PROCESSOR_ARCHITECTURE environment variable:
Set oShell = CreateObject("WScript.Shell")
Set oEnv = oShell.Environment("System")
Select Case LCase(oEnv("PROCESSOR_ARCHITECTURE"))
Case "x86"
' x86
Case "amd64"
' amd64
Case "ia64"
' ia64
Case Else
' other
End Select
VBScript, using WMI:
Const PROCESSOR_ARCHITECTURE_X86 = 0
Const PROCESSOR_ARCHITECTURE_IA64 = 6
Const PROCESSOR_ARCHITECTURE_X64 = 9
strComputer = "."
Set oWMIService = GetObject("winmgmts:" & _
"{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcessors = oWMIService.ExecQuery("SELECT * FROM Win32_Processor")
For Each oProcessor In colProcessors
Select Case oProcessor.Architecture
Case PROCESSOR_ARCHITECTURE_X86
' x86
Case PROCESSOR_ARCHITECTURE_X64
' x64
Case PROCESSOR_ARCHITECTURE_IA64
' ia64
Case Else
' other
End Select
Next
Helen
2009-06-22 07:12:16