【问题标题】:get bit architecture in vb [duplicate]在vb中获取位架构[重复]
【发布时间】:2012-12-17 07:03:37
【问题描述】:

可能重复:
How to detect Windows 64 bit platform with .net?

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

【问题讨论】:

  • 你想知道硬件是32/64位,还是操作系统,还是当前进程?

标签: vb.net visual-studio


【解决方案1】:

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

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

Environment.Is64BitOperatingSystem

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

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

Environment.Is64BitProcess

【讨论】:

    【解决方案2】:
    Dim Is64Bit As Boolean
    
    Is64Bit = Not String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432"))
    

    另请参阅:How to detect Windows 64-bit platform with .NET?

    【讨论】:

      【解决方案3】:

      如果您想知道操作系统是 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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-08-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-21
        • 1970-01-01
        相关资源
        最近更新 更多