2011-10-21 64 views
16

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

请帮助我获得当前活动会话的进程而不是全部。

需要帮助解决问题。

+1

什么是'当前会话'? – sll

+0

@ user1006996,当你在寻求帮助时停止发送“Urjent”/“Immediate”等短信。 –

+0

当前会话表示当前登录的活动用户。 – Awadhendra

回答

33

这将为您提供正在运行的进程运行列表,其中当前进程使用与 相同的会话ID运行。我认为那就是你想要的。

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

感谢您的回答。 这对我很有用。 – Awadhendra

+0

您是否将答案标记为已接受然后 –

+0

theres在您的foreach中输入错误(区分大小写) –

相关问题