为什么我无法实例化 Win32_PowerMeter WMI 类

本文关键字:PowerMeter WMI Win32 实例化 为什么 | 更新日期: 2023-09-27 18:36:48

我见过很多实例化WMI Win32 Classes子类的例子。 例如,尝试查询Win32_Battery类:

using System.Management.Instrumentation;
...
ManagementClass mgmt = new ManagementClass("Win32_Battery");
ManagementObjectCollection o = mgmt.getInstances();

但是,此查询失败,它告诉我它是一个未知类,无法实例化。

我做错了什么?

为什么我无法实例化 Win32_PowerMeter WMI 类

>Win32_PowerMeter不在默认命名空间中。 由 WMI 代码创建程序实用工具生成的示例代码,其中显示了正确的命名空间:

    ManagementObjectSearcher searcher = 
        new ManagementObjectSearcher("root''CIMV2''power", 
        "SELECT * FROM Win32_PowerMeter"); 
    foreach (ManagementObject queryObj in searcher.Get())
    {
        Console.WriteLine("-----------------------------------");
        Console.WriteLine("Win32_PowerMeter instance");
        Console.WriteLine("-----------------------------------");
        Console.WriteLine("DeviceID: {0}", queryObj["DeviceID"]);
    }