Как получить идентификатор процессора из процессора win32 - PullRequest
0 голосов
/ 13 июля 2011
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();

выдает ошибку для строки

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

ошибка: Object reference not set to an instance of an object.

как убрать эту ошибку

Ответы [ 2 ]

1 голос
/ 13 июля 2011

попробуй

    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();

думаю, что только пропущенный капитал означал, что возвращается ноль

1 голос
/ 13 июля 2011

Имена свойств WMI, вероятно, чувствительны к регистру.Попробуйте:

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

Также может помочь правильно прописать название класса Win32_Processor :

SelectQuery query = new SelectQuery("Win32_Processor");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...