Не удается получить системный идентификатор в WPF - PullRequest
2 голосов
/ 28 июля 2011

Я программирую в WPF C # и пытаюсь получить ProcessorID (или другой системный идентификатор). Я прочитал MSDN - пространство имен System.Management . Я добавляю пространство имен, но оно не обеспечивает ManagementBaseObject Class.

using System.Management;

/* code */
System.Management.(there is no ManagementBaseObject)

Используется ли System.Management только в WinForms, а не в WPF?

Ответы [ 3 ]

2 голосов
/ 28 июля 2011

Существуют некоторые типы с пространством имен System.Management в System.Core, поэтому вы видите некоторые типы.

Для ManagementBaseObject, однако, вам также необходимо добавить ссылку наSystem.Management.dll к вашему проекту.

2 голосов
/ 28 июля 2011

Следующий код даст вам идентификатор процессора, если вы добавили ссылку на System.Management:

public static string GetProcessorID()
{
    var processorID = "";
    var query = "SELECT ProcessorId FROM Win32_Processor";

    var oManagementObjectSearcher = new ManagementObjectSearcher(query);

    foreach (var oManagementObject in oManagementObjectSearcher.Get())
    {
        processorID = (string)oManagementObject["ProcessorId"];
        break;
    }

    return processorID;  
}
2 голосов
/ 28 июля 2011

Вам необходимо добавить ссылку на System.Management.dll

(согласно «Сборке» в документации для этого класса)

...