2011-10-21 19 views
16

Tôi gặp sự cố nhỏ khi phát triển ứng dụng. Tôi muốn truy cập tất cả quá trình của phiên hiện tại. Hiện tại tôi đang sử dụng lớp Process nhưng nó sẽ trả về tất cả các quá trình của tất cả các phiên.Nhận tất cả quy trình của phiên hoạt động hiện tại

Vui lòng giúp tôi xử lý phiên hiện tại hiện tại không phải tất cả.

Trợ giúp cần thiết để giải quyết vấn đề.

+1

'Phiên hiện tại' là gì? – sll

+0

@ user1006996, Dừng nhắn tin như "Urjent"/"Immediate" trong khi bạn đang yêu cầu trợ giúp. –

+0

Phiên hiện tại nghĩa là người dùng hiện tại đang hoạt động đăng nhập. – Awadhendra

Trả lời

33

Điều này sẽ cung cấp cho bạn danh sách quá trình đang chạy với cùng sessionID như quy trình hiện tại. Tôi nghĩ đó là những gì bạn muốn.

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

Cảm ơn câu trả lời của bạn. Điều này sẽ làm việc cho tôi. – Awadhendra

+0

Bạn có đánh dấu câu trả lời là được chấp nhận sau đó –

+0

có lỗi đánh máy trong trường hợp của bạn (trường hợp nhạy cảm) –

Các vấn đề liên quan