c# 判断系统32位还是64位

来源:互联网 发布:国际网络公开课 编辑:程序博客网 时间:2024/06/01 09:54

判断系统是否是64位的方法有很多。

对于C#来说,调用WMI是一种简单易行的方式。我们可以用Win32_Processor类里面的AddressWidth属性来表示系统的位宽。AddressWidth的值受CPU和操作系统的双重影响。

具体的值如下面的表格所示:

 32bit OS64bit OS32bit CPUAddressWidth = 32N/A64bit CPUAddressWidth = 32AddressWidth = 64
可以用下面的C#代码得到AddressWidth的值
(注意需添加引用System.Management)
public static string Detect3264()
{
             ConnectionOptions oConn
=new ConnectionOptions();
             System.Management.ManagementScope oMs
=new System.Management.ManagementScope("\\\\localhost", oConn);
             System.Management.ObjectQuery oQuery
=new System.Management.ObjectQuery("select AddressWidth from Win32_Processor");
             ManagementObjectSearcher oSearcher
=new ManagementObjectSearcher(oMs, oQuery);
             ManagementObjectCollection oReturnCollection
= oSearcher.Get();
           
string addressWidth = null;

           
foreach (ManagementObject oReturnin oReturnCollection)
             {
                 addressWidth
= oReturn["AddressWidth"].ToString();
             }

           
return addressWidth;
}

原创粉丝点击