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

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

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

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

 32bit OS64bit OS
32bit CPUAddressWidth = 32N/A
64bit 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 oReturn in oReturnCollection)
             {
                 addressWidth
= oReturn[ " AddressWidth " ].ToString();
             }

           
return addressWidth;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值