有没有一种方法可以像使用 System.Diagnostics.PerformanceCounter
类那样在 C# 中通过 WMI 进行查询?
简单地说,我如何向它传递一个类似 \\localhost\Processor(0)\% Processor Time
的字符串,它会为我构建正确的 WMI 查询?
我在遗留程序的平面文件中有大量计数器列表,我想将其移动到仅运行平面文件并获取值的服务。
最佳答案
您可以使用 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);
}
}
关于c# - WMI 性能计数器查询问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3522949/