Как вывести список всех видимых процессов? - C#
Формулировка задачи:
То есть все те окна, которые видны в панели задач/ открыты и видимы. Все окна, которые работают, показывая только значок в трее или вообще не показывая ничего необходимо отсеять.
По сути, список вообще всех запущенных процессов можно вывести кодом:
А разгадка только видимых окон должна разгадаться с помощью этого условия внутри foreach:
if (instance.StartInfo. WindowStyle == ProcessWindowStyle.Normal)
Но нет, судя по этому условию, вообще все процессы имеют ProcessWindowStyle.Normal, нет ни свёрнутых ни невидимых.
Как отсеять?
System.Diagnostics.Process[] processes; processes = System.Diagnostics.Process.GetProcesses(); foreach (System.Diagnostics.Process instance in processes) { listBox1.Items.Add(instance. ProcessName + instance.StartInfo.WindowStyle); }
Решение задачи: «Как вывести список всех видимых процессов?»
textual
Листинг программы
var processes = Process.GetProcesses().Where(p => p.MainWindowHandle != IntPtr.Zero);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д