Получить весь процесс текущей активной сессии

У меня есть небольшая проблема при разработке приложения. Я хочу получить доступ ко всему процессу только текущего сеанса. В настоящее время я использую класс Process, но он вернет весь процесс всего сеанса.

Пожалуйста, помогите мне получить процесс текущей активной сессии только не для всех.

Помощь, необходимая для решения проблемы.

Ответы

Ответ 1

Это даст вам список запущенных процессов, которые работают с тем же идентификатором сессии, что и текущий процесс. Я думаю, это то, что вы хотите.

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