我想在.NET中使用WMI获取id处理器但是当我使用ManagementObjectSearcher中的get()方法时,我遇到内存不足异常......
如果您想查看代码,请参阅以下内容:
ManagementObjectSearcher searcher = new ManagementObjectSearcher(
"select * from Win32_Processor");
foreach (ManagementObject share in searcher.Get())
foreach (PropertyData PC in share.Properties)
if (PC.Name.Equals("ProcessorId"))
return (string)PC.Value;
return null;
此代码适用于其他计算机,但不适用于我的...
我正在使用Windows 7.
有什么问题?
我尝试重新启动WMI服务并且无法解决我的问题:(
答案 0 :(得分:2)
有几个原因可能导致内存不足异常。
样品:
public static String GetCPUId()
{
String processorID = "";
ManagementObjectSearcher searcher = new ManagementObjectSearcher(
"Select * FROM WIN32_Processor");
ManagementObjectCollection mObject = searcher.Get();
foreach (ManagementObject obj in mObject)
{
processorID = obj["ProcessorId"].ToString();
}
return processorID;
}