1

可能重复:
如何使用 .net 检测 Windows 64 位平台?

我对VB完全陌生。我的机器上有 VS2008 速成版,我想知道我的(目标用户)机器的位架构。我得到了操作系统名称以及主要和次要版本,但我如何获得位架构?

4

3 回答 3

5

我已经链接到之前提出的关于此的问题,但是

最简单的解决方案是(如果可以的话)是使用 Visual Studio 2010 及更高版本,那么如果您想知道操作系统的难点是什么,您可以简单地使用:

Environment.Is64BitOperatingSystem

如果您想知道处理器的咬合度,请使用已经给出的 kor_ 答案(尽管我不知道为什么您需要知道这一点)

注意:- 您还可以检查您正在运行的进程的咬合度:

Environment.Is64BitProcess
于 2012-12-17T10:22:46.370 回答
3
Dim Is64Bit As Boolean

Is64Bit = Not String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432"))

另请参阅:如何使用 .NET 检测 Windows 64 位平台?

于 2012-12-17T07:14:16.280 回答
2

如果您想知道操作系统是 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
于 2012-12-17T10:42:01.167 回答