Windows Management Instrumentation服务关闭引发程序错误
最近在做一个考试软件的时候,在注册部分用到了一段提取硬盘序列号的代码,代码如下:
几经周折才发现是因为操作系统的Windows Management Instrumentation服务给禁用了,将其启动一切正常。
public static string GetMainHardDiskId()
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("select * from Win32_PhysicalMedia");
string hardDiskId = null;
foreach(ManagementObject mo in searcher.Get())
{
hardDiskId = mo["SerialNumber"].ToString().Trim();
break;
}
return hardDiskId;
}
在本机测试后的没有问题,待软件发给用户的时候,很多用户打电话反映注册不了,于是定位到以上代码。{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("select * from Win32_PhysicalMedia");
string hardDiskId = null;
foreach(ManagementObject mo in searcher.Get())
{
hardDiskId = mo["SerialNumber"].ToString().Trim();
break;
}
return hardDiskId;
}
几经周折才发现是因为操作系统的Windows Management Instrumentation服务给禁用了,将其启动一切正常。