Как вернуть список процессов Windows в C #?

2

Используя С#, как я могу получить список всех запущенных процессов на текущем компьютере, включая имя изображения, описание и идентификатор процесса? Я за чем-то похож на то, что вы увидите на вкладке "Процесс" диспетчера задач, хотя без информации о ресурсе.

Теги:

1 ответ

4
Лучший ответ

Для этого вам необходимо использовать утилиты, доступные в пакете Diagnostics. Я нашел этот код, и он отлично работает.

Эта строка точно восстанавливает процессы. Затем вы можете извлечь свойства каждого процесса.

`Процесс [] allProcs = Process.GetProcesses();

Полный код выглядит следующим образом. Настроить как обязательно `

using System;
using System.Diagnostics;

public class ListProcs
{
public static void Main()
{
  int totMemory = 0;
  Console.WriteLine("Info for all processes:");

  Process[] allProcs = Process.GetProcesses();
  foreach(Process thisProc in allProcs)
  {
     string procName = thisProc.ProcessName;
     DateTime started = thisProc.StartTime;
     int procID = thisProc.Id;
     int memory = thisProc.VirtualMemorySize;
     int priMemory = thisProc.PrivateMemorySize;
     int physMemory = thisProc.WorkingSet;
     totMemory += physMemory;
     int priority = thisProc.BasePriority;
     TimeSpan cpuTime = thisProc.TotalProcessorTime;

     Console.WriteLine("Process: {0}, ID: {1}", procName, procID);
     Console.WriteLine("    started: {0}", started.ToString());
     Console.WriteLine("    CPU time: {0}", cpuTime.ToString());
     Console.WriteLine("    virtual memory: {0}", memory);
     Console.WriteLine("    private memory: {0}", priMemory);
     Console.WriteLine("    physical memory: {0}", physMemory);
  }

  Console.WriteLine("\nTotal physical memory used: {0}", totMemory);
  }
  }

Ссылка на оригинальную статью.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню