//注意需添加引用System.Management
//返回值为 AddressWidth (64或者32),调用WMI方式所得
//用Win32_Processor类里面的AddressWidth属性来表示系统的位宽。AddressWidth的值受CPU和操作系统的双重影响
public static string Distinguish64or32System()
{
try
{
string addressWidth= String.Empty;
ConnectionOptions mConnOption =new ConnectionOptions();
ManagementScope mMs =new ManagementScope("\\\\localhost", mConnOption);
ObjectQuery mQuery =new ObjectQuery("select AddressWidth from Win32_Processor");
ManagementObjectSearcher mSearcher =new ManagementObjectSearcher(mMs, mQuery);
ManagementObjectCollection mObjectCollection = mSearcher.Get();
foreach (ManagementObject mObjectin mObjectCollection)
{
addressWidth = mObject["AddressWidth"].ToString();
}
return addressWidth;
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
return String.Empty;
}
}