【问题标题】:Cannot get the list of running/current processes?无法获取正在运行/当前进程的列表?
【发布时间】:2012-01-20 14:37:32
【问题描述】:

我正在尝试使用以下代码在我的计算机上使用 Win7 获取正在运行的进程/会话列表,该代码可在 Internet 中找到。然而它不起作用?我没有任何编译错误。

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); 
          }
      }
  }
}

【问题讨论】:

  • 哎呀,请将您的代码格式化为可读的位置。它使回答您的问题变得更加容易。
  • 输出是什么? (漂亮的格式顺便说一句)
  • 非常感谢。我只是将 添加到代码文本中,但不知道格式。你是怎么格式化的?
  • 您好 OSH,控制台没有输出:(

标签: c# session process


【解决方案1】:

" 控制台没有输出"

然后替换

Trace.WriteLine(p.ProcessName); 

Console.WriteLine(p.ProcessName); 

但是,如果您仍然看不到任何东西,那么是时候开始使用调试器了。

【讨论】:

    【解决方案2】:

    问题是您使用Trace.WriteLine 来输出文本。这用于程序跟踪,默认情况下不会显示在控制台中。请改用Console.WriteLine

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

    【讨论】:

      【解决方案3】:

      这是一个快速而肮脏的方法......

        Process[] proc = Process.GetProcesses();
        foreach(Process theprocess in proc)
        {
          Console.WriteLine("Process: {0} ID: {1}", theprocess.ProcessName, theprocess.Id);
        }
      

      【讨论】:

        【解决方案4】:

        要进一步扩展之前的帖子提到的内容,确实会显示跟踪输出,但您需要查看 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', 跳过加载符号。模块经过优化和调试器选项 “仅我的代码”已启用。
        开发环境
        登录 等等……

        【讨论】:

        • 抱歉,我一直使用 Ctrl+F5 而不是 F5。我已经看到了它。如何获得正在运行的会话的动态/实时列表?
        • 意味着您希望该列表不断更新而不是运行一次?最简单的方法是定期循环代码并制定一些显示方法,无论是将新列表附加到末尾还是做一些更复杂的事情。
        猜你喜欢
        • 1970-01-01
        • 2012-02-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多