2011-07-13 30 views
0
string strProcessorId = string.Empty; 
SelectQuery query = new SelectQuery("Win32_processor"); 
ManagementObjectSearcher search = new ManagementObjectSearcher(query); 

foreach (ManagementObject info in search.Get()) 
{ 
    strProcessorId = info["processorId"].ToString(); 
} 
Console.WriteLine(strProcessorId); 
Console.ReadLine(); 

它给出了路线错误如何从win32的处理器的处理器ID

strProcessorId = info["processorId"].ToString(); 

错误是:Object reference not set to an instance of an object.

如何消除这种误差

回答

1

WMI属性的名称很可能病例敏感。尝试:

strProcessorId = info["ProcessorId"].ToString(); 

这也可能有助于正确把握的Win32_Processor类的名称:

SelectQuery query = new SelectQuery("Win32_Processor"); 
1

尝试

string strProcessorId = string.Empty; 
    SelectQuery query = new SelectQuery("Win32_processor"); 
    ManagementObjectSearcher search = new ManagementObjectSearcher(query); 

    foreach (ManagementObject info in search.Get()) 
    { 
     strProcessorId = info["ProcessorID"].ToString(); 
    } 
    Console.WriteLine(strProcessorId); 
    Console.ReadLine(); 

认为这只是资本缺少这意味着空了正在退回