使用 WMI 和 CPU 使用率 C#
如何使用 WMI 在 C# 中检索当前 CPU 使用情况? 我看过很多使用性能计数器的帖子,但我需要一个可以与远程计算机一起使用的解决方案。 我还在此处找到了 VB 解决方案,但如果可能的话,我更愿意用 C# 来完成这个任务。
How can i retrieve the current CPU usage in c# using WMI? I've seen plenty of posts using performance counters, but I need a solution that can work with remote machines. I've also found a VB solution here, but I'd prefer to accomplish this in C# if possible.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
至少可以说,WMI 的性能很混乱。 性能计数器在远程机器上工作正常。 使用 System.Diagnostics.PerformanceCounterXxx 类,构造函数具有采用 machineName 参数的重载。
Performance with WMI is messy, to say the least. Performance counters work OK with remote machines. Use the
System.Diagnostics.PerformanceCounterXxx
classes, the constructors have overloads which take amachineName
argument.sysinternals 的工具“pslist”(免费)可以读取远程机器的使用情况。
您可以在命令框中启动程序并将结果提取到您的应用程序中。
the tool "pslist" from sysinternals (its free) could readout the usage from remotemachines.
y could start the programm within a cmd-box and fetch the result into your application.
成功了。 使用与此处几乎相同的代码: http://www.csharphelp.com/archives2/ archive334.html 结果我的路径不好,我终于解决了: new ManagementPath(string.Format("\\{0}\root\cimv2",machineName));
Got it working. Used pretty much the same code as found here: http://www.csharphelp.com/archives2/archive334.html Turns out I had a bad path, which i finally got sorted out: new ManagementPath(string.Format("\\{0}\root\cimv2",machineName));