2011-10-21 67 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中輸入錯誤(區分大小寫) –

相關問題