[英]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.