2011-10-21 11 views
16

Mam mały problem podczas tworzenia aplikacji. Chcę uzyskać dostęp tylko do całego procesu bieżącej sesji. Obecnie używam klasy Process, ale zwróci ona cały proces całej sesji.Uzyskaj cały proces bieżącej aktywnej sesji

Proszę pomóż mi uzyskać proces aktualnej aktywnej sesji tylko nie wszystkie.

Pomoc potrzebna do rozwiązania problemu.

+1

Co to jest "obecna sesja"? – sll

+0

@ user1006996, Przestań wysyłać SMS-y jak "Urjent"/"Natychmiast", gdy pytasz o pomoc. –

+0

Bieżąca sesja oznacza bieżącego aktywnego użytkownika, który się loguje. – Awadhendra

Odpowiedz

33

Zostanie wyświetlona lista uruchomionych procesów z tą samą identyfikacją sesji, co z bieżącym procesem. Myślę, że tego właśnie chcesz.

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

Dziękuję za odpowiedź. To będzie działać dla mnie. – Awadhendra

+0

Czy oznaczyłbyś odpowiedź jako zaakceptowaną, a następnie –

+0

jest literówka w foreach (wielkość liter ma znaczenie) –

Powiązane problemy