WMI性能计数器查询问题

时间:2010-08-19 14:47:29

标签: c# .net wmi performancecounter

有没有办法通过C#中的WMI查询,就像你可以使用System.Diagnostics.PerformanceCounter类一样?

简单地说,如何将它传递给像\\localhost\Processor(0)\% Processor Time这样的字符串,它会为我构建正确的WMI查询?

我在遗留程序的平面文件中有大量的计数器列表,我想将它移动到一个只运行平面文件并获取值的服务。

1 个答案:

答案 0 :(得分:2)

您可以使用WMI Performance Class Counters。一个例子是轮询PerfDisk_LogicalDisk

ManagementObjectSearcher mos = new ManagementObjectSearcher("select * from Win32_PerfFormattedData_PerfDisk_LogicalDisk");
foreach (ManagementObject service in mos.Get())
{
    foreach (PropertyData data in service.Properties)
    {
        Console.WriteLine("{0} {1}", data.Name, data.Value);
    }
}