Как сделать контроль использования процессора в WPF - PullRequest
1 голос
/ 11 февраля 2012

Я хочу сделать элемент управления, очень похожий на тот, который используется в диспетчере задач Windows, чтобы показать производительность процессора, что-то вроде изменяющейся вертикали. Guage

Ответы [ 2 ]

4 голосов
/ 11 февраля 2012

Вы можете получить значения использования ЦП через ManagementObjectSearcher, используя WMI

. Чтобы получить значение, вы делаете что-то вроде этого

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 голос
/ 15 февраля 2012

Понял ... использовал индикатор выполнения для отображения значений и PerformanceCounter для получения значений использования процессора.

Спасибо

...