使用WMI和C#的CPU使用率

如何使用WMI检索c#中的当前CPU使用率? 我见过很多使用性能计数器的post,但我需要一个可以与远程机器一起使用的解决方案。 我也在这里找到了一个VB解决方案,但如果可能的话,我更愿意在C#中实现。

至少可以说,WMI的性能很混乱。 性能计数器适用于远程计算机。 使用System.Diagnostics.PerformanceCounterXxx类,构造函数具有带有machineName参数的重载。

来自sysinternals的工具“pslist”(它是免费的)可以读出远程机器的使用情况。 您可以在cmd框中启动该程序并将结果提取到您的应用程序中。

  cmd.StartInfo.FileName = "cmd.com"; cmd.StartInfo.Arguments = "/c pslist ....."; cmd.StartInfo.RedirectStandardOutput = true; cmd.StartInfo.RedirectStandardError = true; // run process and catch output cmd.Start(); string sOutput = cmd.StandardOutput.ReadToEnd(); cmd.WaitForExit(); 

搞定了。 使用的代码几乎与此处的代码相同: http : //www.csharphelp.com/archives2/archive334.html原来我的路径很糟糕,我终于整理出来了:新的ManagementPath(string.Format(“\\ {0} \根\ CIMV2″ ,机器名));