繁体   English   中英

如何在C#代码中获取操作系统详细信息

[英]how to get Operating System Details in C# code

我需要获得OsArchitecture的意思是O / s的位数,我使用了Win32_OperatingSystem,但其“ OsArchitecture”不适用于所有类型的操作系统

ManagementObjectSearcher objOSDetails = new ManagementObjectSearcher("SELECT * FROM Win32_OperatingSystem");
           ManagementObjectCollection osDetailsCollection = objOSDetails.Get();
 foreach( ManagementObject mo in osDetailsCollection )
  {
    String  _operatingSysBits = mo["OSArchitecture"].ToString();

  }

检查IntPtr.Size 在32位平台上它将是4,在64位平台上将是8(除非您的进程以32位模式运行)。

对于.NET 4.0,有Environment.is64BitOperatingSystem

要么

    ManagementObject Mo = new ManagementObject("Win32_Processor.DeviceID='CPU0'");
    object o = Mo["Architecture"];
    UInt16 sp = (UInt16)(o);

    if (sp == 0)
    {
        //86
    } else if (sp == 9)
    {
        //64
    }

    Mo.Dispose();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM