2009-06-19 12 views

Odpowiedz

6

w systemie Windows można uzyskać zmienną środowiskową PROCESSOR_ARCHITECTURE. Oto artykuł MSDN wyjaśniający wartości, które można zwrócić.

PROCESSOR_ARCHITECTURE=AMD64 
PROCESSOR_ARCHITECTURE=IA64 
PROCESSOR_ARCHITECTURE=x86 
+0

Nie wiem, dlaczego to zostało zaznaczone, wpisz w wierszu poleceń echo% PROCESSOR_ARCHITECTURE% –

+0

dokładnie to, czego szukałem! –

+0

Artykuł MSDN sugeruje, że mówi to o architekturze systemu operacyjnego, a nie o typie procesora (można mieć system operacyjny x86 na procesorze x86_64). –

0

CPU-Z jest programem chcesz, powie to, jaki procesor masz i co rozszerzeniach obsługuje

+1

http://www.cpuid-pro.com/index.php to strona dla programistów. Daje to mnóstwo szczegółów na temat procesora, architektury itp. W razie potrzeby. –

0

języku 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); 
    } 
    } 
+0

Zamiast uzyskiwania "VendorIdentifier" możesz chcieć uzyskać "ProcessorNameString", który zawiera nazwę popularnego modelu dostawcy. – galaktor

0

cat/proc/cpuinfo

0

Co zwykle ważniejsza niż procesor bazowego jest w jakim trybie system operacyjny jest uruchomiony w, oprócz procesor zainstalowany na hoście.

przejrzeć wyjście "uname -p" (lub uname (2))

Intel przyjęła rozszerzenia AMD dla instrukcji 64-bitowych więc wartość "x86_64" oznacza używasz albo Intel lub AMD 64-bitowy procesor, w przeciwnym razie używasz standardowego ISA x86.

0

W Javie nie trzeba wiedzieć. ;)

1

VBScript, sprawdzając PROCESSOR_ARCHITECTURE zmienną środowiskową:

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, przy użyciu 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 
Powiązane problemy