Получить загрузку процессора для каждого процесса, как в диспетчере задач
Ниже приведен код для получения загрузки ЦП каждого процесса, но, похоже, он дает 0 для всех процессов и не соответствует данным столбца ЦП диспетчера задач.
Process[] myProcesses = Process.GetProcesses();
for (int i = 0; i < myProcesses.Length; i++)
{
//Get process name by processId
appName = GetProcessInstanceName(myProcesses[i].Id);
//CPU Column value
PerformanceCounter process_cpu = new PerformanceCounter("Process", "% Processor Time", appName,true);
Int32 process_pct = Convert.ToInt32(process_cpu.NextValue());
System.Threading.Thread.Sleep(1000);
Int32 process_pct_Second = Convert.ToInt32(process_cpu.NextValue());
process_pct_Second = process_pct_Second / Environment.ProcessorCount;
}
Пожалуйста, поправьте меня, если я что-то упустил здесь..