【发布时间】:2012-12-17 07:03:37
【问题描述】:
我对 VB 完全陌生。我的机器上有 VS2008 速成版,我想知道我的(目标用户)机器的位架构。我得到了操作系统名称和主要和次要版本,但我如何获得位架构?
【问题讨论】:
-
你想知道硬件是32/64位,还是操作系统,还是当前进程?
标签: vb.net visual-studio
我对 VB 完全陌生。我的机器上有 VS2008 速成版,我想知道我的(目标用户)机器的位架构。我得到了操作系统名称和主要和次要版本,但我如何获得位架构?
【问题讨论】:
标签: vb.net visual-studio
我已经链接到之前提出的关于此的问题,但是
最简单的解决方案是(如果可以的话)是使用 Visual Studio 2010 及更高版本,那么如果您想知道操作系统的特点是什么,您可以简单地使用:
Environment.Is64BitOperatingSystem
如果您想知道处理器的咬合度,请使用 kor_ 已经给出的答案(尽管我不知道为什么您需要知道这一点)
注意:- 你也可以检查你正在运行的进程的咬合度:
Environment.Is64BitProcess
【讨论】:
Dim Is64Bit As Boolean
Is64Bit = Not String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432"))
【讨论】:
如果您想知道操作系统是 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
【讨论】: