2011-07-13 26 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(); 

認爲這只是資本缺少這意味着空了正在退回