C#判断系统是64位还是32位的时候引用了一串代码,这个代码是从园子里面其他博文中转载过来的,引入自己的项目中发现无法使用,在引用了相应的命名空间之后还是提示:
“未能找到类型或命名空间名称“ConnectionOptions”(是否缺少 using 指令或程序集引用?)”;
除了使用 using System.Management; 还需要在解决方案的“引用”中引用才能够起作用,
private 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 mObject in mObjectCollection)
{
addressWidth = mObject["AddressWidth"].ToString();
}
return addressWidth;
}
catch
{ return String.Empty;
}
}
引用之后完美解决了判断系统是32位还是64位的问题。这样就可以根据不同的系统位数来选择触发不同的代码段了。