C # Диспетчер задач проблема использования ЦП - PullRequest
0 голосов
/ 16 января 2012

Я пытаюсь создать приложение, которое извлекает информацию о процессе и помещает ее в таблицу SQL.

Я извлекаю имя процесса, PID, время процессора, использование памяти, страницу и дескрипторы.

Все отлично работает, кроме времени процессора.Вот код, который я использую для получения информации о процессоре:

Process[] processes = Process.GetProcesses(machineName);

foreach (Process p in processes)
{
    var cpuTime = p.TotalProcessorTime;
}

Однако я получаю эту ошибку:

Функция не поддерживается для удаленных компьютеров.

У кого-нибудь есть какой-нибудь другой способ, которым я могу получить эту информацию и все же иметь возможность добавить ее в свою таблицу SQL?

1 Ответ

3 голосов
/ 17 января 2012

Как насчет использования WMI?

  string computerName="MyPc";
  System.Management.ManagementScope ms = new System.Management.ManagementScope(@"\\" + computerName + @"\root\cimv2");
  System.Management.SelectQuery sq = new System.Management.SelectQuery("SELECT * FROM Win32_Process");
  System.Management.ManagementObjectSearcher mos = new System.Management.ManagementObjectSearcher(ms,sq);
  foreach (System.Management.ManagementObject mo in mos.Get())
  {
    Console.WriteLine(mo["Name"].ToString());
  }
  Console.Read();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...