Не можете получить список запущенных / текущих процессов? - PullRequest
1 голос
/ 20 января 2012

Я пытаюсь получить список запущенных процессов / сеансов на моем компьютере с Win7, используя следующий код, который можно найти в Интернете. Однако это не работает? У меня нет ошибок компиляции.

namespace CurrentProcessesLister
{
   class Program
   {
      static void Main(string[] args)
      {
          Process[] runningProcesses = Process.GetProcesses();
          var currentSessionID = Process.GetCurrentProcess().SessionId; 
          Process[] sameAsthisSession = (from c in runningProcesses where c.SessionId ==    currentSessionID select c).ToArray(); 

          foreach (var p in sameAsthisSession) 
          { 
              Trace.WriteLine(p.ProcessName); 
          }
      }
  }
}

Ответы [ 4 ]

7 голосов
/ 20 января 2012

"в консоли нет вывода"

Затем замените

Trace.WriteLine(p.ProcessName); 

с

Console.WriteLine(p.ProcessName); 

Но если вы все равно ничего не видите, пора начать использовать отладчик.

1 голос
/ 20 января 2012

Вот быстрый и грязный способ ...

  Process[] proc = Process.GetProcesses();
  foreach(Process theprocess in proc)
  {
    Console.WriteLine("Process: {0} ID: {1}", theprocess.ProcessName, theprocess.Id);
  }
1 голос
/ 20 января 2012

Проблема в том, что вы используете Trace.WriteLine для вывода текста. Это используется для отслеживания программы и не будет отображаться по умолчанию в консоли. Вместо этого используйте Console.WriteLine.

  foreach (var p in sameAsthisSession) 
  { 
      Console.WriteLine(p.ProcessName); 
  }
0 голосов
/ 20 января 2012

Для дальнейшего расширения того, о чем упоминалось в предыдущих публикациях, вывод трассировки действительно отображается, но вам нужно заглянуть в окно вывода отладчика в Visual Studio.Код, который вы первоначально опубликовали, действительно перечисляет процессы в разделе «Отладка» в окне вывода.

'ConsoleApplication1.Program ..' '' ConsoleApplication1.vshost.exe '(Управляемый (v4.0.30319)): Загружено 'C: \ windows \ Microsoft.Net \ assembly \ GAC_MSIL \ System.Configuration \ v4.0_4.0.0.0__b03f5f7f11d50a3a \ System.Configuration.dll', символы загрузки пропущены.Модуль оптимизирован и включена опция отладчика «Просто мой код».
devenv
winlogon и т.д ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...