Получить все окна, которые имеют значок на панели задач - PullRequest
0 голосов
/ 15 октября 2011

Я пытаюсь получить все дескрипторы окон приложений, которые имеют только значок на панели задач.

Решения, которые я преобразовал в C #, но не удалось:

Перечислять окна какalt-tab делает

перечисляет окна как alt-tab делает

перечисляет окна как alt-tab делает

И пара, которую я уже потерял.Все эти решения либо дают сбой, либо вызывают процессы без окон, такие как svchost, процессы плагинов и т. Д.

В основном мне просто нужны окна, которые активно доступны на панели задач с иконками.Я использую дескриптор окна

Process.MainWindowHandle

Какие есть рабочие решения для этого?Есть ли ветка с рабочим решением, которую я пропустил?

1 Ответ

1 голос
/ 15 октября 2011

Попробуйте получить все процессы, для которых установлено свойство MainWindowTitle.

Это не похоже на особенно элегантное решение, но оно сработало для меня, возвращая только те приложения, которые были запущены и явно открыты на панели задач.

List<Process> taskBarProcesses = Process.GetProcesses().
                                         Where(p => !string.IsNullOrEmpty(p.MainWindowTitle))
                                         .ToList();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...