2011-10-21 11 views
16

Ho un piccolo problema durante lo sviluppo di un'applicazione. Voglio accedere solo a tutti i processi della sessione corrente. Attualmente sto usando la classe Process ma restituirà tutto il processo di tutte le sessioni.Ottieni tutto il processo della sessione attiva corrente

Please help me per ottenere il processo della sessione attiva corrente solo non tutti.

Aiuto necessario per risolvere il problema.

+1

Che cos'è la "sessione corrente"? – sll

+0

@ user1006996, interrompi il testo come "Urjent"/"Immediato" mentre chiedi aiuto. –

+0

Sessione corrente indica l'attuale utente attivo che effettua il login. – Awadhendra

risposta

33

Questo ti darà un elenco dei processi in esecuzione che sono in esecuzione con lo stesso sessionID del processo corrente. Penso che sia quello che vuoi.

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

Grazie per la risposta. Questo funzionerà per me. – Awadhendra

+0

Vuoi contrassegnare la risposta come accettata allora –

+0

c'è un refuso nel tuo foreach (sensibile al maiuscolo/minuscolo) –

Problemi correlati