可能重複:
How to detect Windows 64 bit platform with .net?得到位架構在VB
我完全陌生的VB。我的機器上有VS2008快速版,我想知道我的(目標用戶)機器的位架構。我得到了操作系統的名稱和主要和次要版本,但我怎麼得到位結構?
可能重複:
How to detect Windows 64 bit platform with .net?得到位架構在VB
我完全陌生的VB。我的機器上有VS2008快速版,我想知道我的(目標用戶)機器的位架構。我得到了操作系統的名稱和主要和次要版本,但我怎麼得到位結構?
Dim Is64Bit As Boolean
Is64Bit = Not String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432"))
我已經鏈接到一個以前提出的問題,關於這一點,但
最簡單的解決方法是(如果你能)是使用Visual Studio 2010年起,然後如果你想知道bitedness是什麼操作系統,你可以簡單地使用:
Environment.Is64BitOperatingSystem
如果你想知道處理器的bitedness然後使用KOR已經給_的回答(雖然你爲什麼會需要知道這一點,我不知道)
注: - 你也可以檢查過程bitedness你正在運行:
Environment.Is64BitProcess
如果您想知道操作系統是32位還是64位,並且您使用的是.NET Framework 4.0或更高版本,請使用Environment.Is64BitOperatingSystem。
如果您想知道當前進程是32位還是64位,並且您使用的是.NET Framework 4.0或更高版本,請使用Environment.Is64BitProcess。
我已經測試了這兩個在Windows 7和XP SP3上,但沒有在任何早期的操作系統版本。
如果你想知道CPU的位數,您可以使用此WMI調用:
Dim mo = New ManagementObject("Win32_Processor.DeviceID='CPU0'")
Dim i As UShort = CUShort(mo("Architecture"))
Select Case i
Case 0
Return "32 Bit"
Case 6 'Itanium
Return "64-bit"
Case 9
Return "64-bit"
Case Else 'Ooops!
Exit Select
End Select
你想知道硬件是否六十四分之三十二位,或OS,或者當前的進程? – RoadWarrior