У меня проблемы с перечислением использования памяти и процессора процессами в C #. Я получаю сообщение об ошибке "Отказано в доступе" при попытке получить TotalProcessorTime
.
Кроме того, когда я использую PeakWorkingSet64
, я получаю необоснованные цифры. Например, я знаю, что steam.exe не занимает 135380992 КБ.
Есть ли лучший способ получения памяти? Моя цель - отобразить его как диспетчер задач, например 1024K.
Что касается использования процессора, я попытался запустить мой компилятор (VS2010 Professional) с правами администратора, и я нахожусь в учетной записи администратора, но я получил ту же ошибку. Также я использую 32-битные Windows, если это как-то связано с этим вопросом. Спасибо!
var processes = Process.GetProcesses();
listBox1.Items.Clear();
foreach (var process in processes)
{
listBox2.Items.Add(process.PeakWorkingSet64 + process.ProcessName + "");
listBox3.Items.Add(process.TotalProcessorTime + "");
}