如何在WPF中进行CPU使用率控制

时间:2012-02-11 18:43:56

标签: c# .net wpf user-controls

我想创建一个与Windows任务管理器中使用的控件非常类似的控件,以显示CPU性能,例如更改垂直Guage

2 个答案:

答案 0 :(得分:4)

您可以使用WMI

通过ManagementObjectSearcher获取CPU使用率值

要获得该值,您可以执行以下操作

var info = ManagementObjectSearcher(@"\\localhost\root\CIMV2","SELECT * FROM Win32_PerfFormattedData_PerfOS_Processor WHERE Name=\"_Total\"");
ManagementObject queryObj = info.Get().Cast<ManagementObject>().First();
var cpuUsage = Convert.ToInt32(queryObj["PercentIdleTime"]);

或者,您可以使用System.Diagnostics PerformanceCounter

PerformanceCounter cpu = new PerformanceCounter(){
    CategoryName = "Processor",
    CounterName = "% Processor Time",
    InstanceName = "_Total"
};

var yourCpuUsageValue = cpu.NextValue();

答案 1 :(得分:1)

搞定了...使用进度条显示值并使用PerformanceCounter来获取cpu使用值。

由于