Как вывести список всех видимых процессов? - C#

Узнай цену своей работы

Формулировка задачи:

То есть все те окна, которые видны в панели задач/ открыты и видимы. Все окна, которые работают, показывая только значок в трее или вообще не показывая ничего необходимо отсеять. По сути, список вообще всех запущенных процессов можно вывести кодом:
Листинг программы
  1. System.Diagnostics.Process[] processes;
  2. processes = System.Diagnostics.Process.GetProcesses();
  3. foreach (System.Diagnostics.Process instance in processes)
  4. {
  5. listBox1.Items.Add(instance. ProcessName + instance.StartInfo.WindowStyle);
  6. }
А разгадка только видимых окон должна разгадаться с помощью этого условия внутри foreach: if (instance.StartInfo. WindowStyle == ProcessWindowStyle.Normal) Но нет, судя по этому условию, вообще все процессы имеют ProcessWindowStyle.Normal, нет ни свёрнутых ни невидимых. Как отсеять?

Решение задачи: «Как вывести список всех видимых процессов?»

textual
Листинг программы
  1. var processes = Process.GetProcesses().Where(p => p.MainWindowHandle != IntPtr.Zero);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.143 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы