c# - WMI 性能计数器查询问题

标签 c# .net wmi performancecounter

有没有一种方法可以像使用 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/

相关文章:

c# - 从资源或站点获取 XML

c# - 如何枚举进程中的所有窗口?

c# - 从经典 ASP 访问 .NET 程序集

c# - MSNdis_StatusMediaDisconnect 和设备唯一名称

c# - 尝试从服务进行远程 WMI 调用时访问被拒绝

c# - 第一次尝试时如何选择打开 Unity 游戏的显示器

c# - 使用 Imagemagick.NET 去除透明度

.net - 具有绑定(bind)表达式的函数应用程序未触发

c# - 合并列表中实体的两个属性并使用 Linq 将其展平

powershell - 如何使用 PowerShell 2 分配对 Windows 共享的完全访问权限