获取当前活动会话的所有进程

时间:2011-10-21 11:31:45

标签: c# session process

开发应用程序时遇到一个小问题。我想只访问当前会话的所有进程。目前我正在使用Process类,但它将返回所有会话的所有进程。

请帮助我完成当前活动会话的过程并非全部。

帮助解决问题。

1 个答案:

答案 0 :(得分:43)

这将为您提供正在运行的具有相同sessionID的进程的列表 目前的过程。我想这就是你想要的。

Process[] runningProcesses = Process.GetProcesses();
var currentSessionID = Process.GetCurrentProcess().SessionId;

Process[] sameAsThisSession =
    runningProcesses.Where(p => p.SessionId == currentSessionID).ToArray();

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