Windows 7/10 показывает в командной строке запущенные приложения / окна
Я знаю команду tasklist
умеет показывать запущенные процессы.
Что я хочу, чтобы в командной строке показывались только запущенные приложения.
Есть ли такая команда в Windows или есть способ получить этот список встроенным фильтром списка задач?
РЕДАКТИРОВАТЬ #1
В диспетчере задач Windows есть вкладка под названием Приложения (в Windows 10 она находится в разделе: Процессы > Приложения). Как получить точный список приложений в командной строке?
РЕДАКТИРОВАТЬ № 2
Что я имею в виду под "приложениями" - это, в основном, имя открытого окна. Как указано в Edit #1, в диспетчере задач Windows они называют это приложения, поэтому я использовал это слово.
1 ответ
По словам Рэймонда Чена, приводится следующий источник: https://blogs.msdn.microsoft.com/oldnewthing/20171219-00/?p=97606
Когда вы переходите на вкладку "Процессы" в диспетчере задач, вы видите процессы, сгруппированные в три категории: приложение, фоновый процесс и процесс Windows. Как он решает, какой процесс входит в какую категорию?
Это термины, которые просто составил диспетчер задач. Сама система действительно не заботится о том, что это за процессы.
Если у процесса есть видимое окно, диспетчер задач называет его "приложением".
Если процесс помечен как критический, диспетчер задач называет его "Процесс Windows".
В противном случае диспетчер задач называет это "фоновым процессом".
Поскольку вопрос касается "приложений" или "приложений", то мы просто рассматриваем те, у которых есть видимое окно.
Следующих команд Powershell может быть достаточно:
powershell "gps | where {$_.MainWindowTitle } | select Description
как может:
powershell "gps | where {$_.MainWindowHandle -ne 0 } | select Description
Связанные команды:powershell "gps | select *"
предоставит список свойств процесса, которые могут быть включены в фильтр или выходные данные.
Я могу использовать Powershell:
$wd=new-object -com 'word.application'
$wd.tasks|?{$_.visible}|select name
$wd.quit()