Используйте класс
PerformanceCounter и
Process
Попробуйте выполнить у себя вот такой код, что бы вам было понятнее как далее работать с этими классами.
foreach (Process proc in Process.GetProcesses()) {
using (PerformanceCounter pcProcess = new PerformanceCounter("Process", "% Processor Time", proc.ProcessName)) {
pcProcess.NextValue();
System.Threading.Thread.Sleep(1000);
Console.WriteLine("Process:{0} CPU% {1}", proc.ProcessName, pcProcess.NextValue());
}
}
Алгоритм будет примерно такой:
- Получите экземпляр класса Process для нужного процесса
- При помощи PerfomanceCounter'а получите % загрузки CPU