使用ManagementClass("Win32_Processor")获取cpuid失败的解决办法[原创]
使用ManagementClass("Win32_Processor")获取cpuid失败,代码如下:
ManagementClass mc = new ManagementClass("Win32_Processor");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
_S_RegsionGUID = mo.Properties["ProcessorId"].Value.ToString();
break;
}
当获取ProcessorId时失败,提示该值为Null,对于有些计算机成功对于有些计算机失败。 查看了一些ManagementClass 相关资料:[.NET 框架中的WMI命名空间][WMI介绍及简单应用].解决办法如下:
1、判断出问题出在WMI上;
2、下载WMI管理工具WMITools.exe,下载地址:http://www.microsoft.com/downloads/details.aspx?familyid=6430F853-1120-48DB-8CC5-F2ABDC3ED314&displaylang=en
3、检查ProcessorId是否为空,如果为空,那么利用WMITools为其赋值。
4、调试上面代码_S_RegsionGUID = mo.Properties["ProcessorId"].Value.ToString();就可以顺利通过了。