Windows 7/10 показывает в командной строке запущенные приложения / окна

1094
Programer Beginner

Я знаю, что команда tasklistможет показывать запущенные процессы .

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

Есть ли такая команда в Windows или есть способ получить этот список встроенным фильтром списка задач?

РЕДАКТИРОВАТЬ # 1

В диспетчере задач Windows есть вкладка под названием Приложения (в Windows 10 она находится в разделе: Процессы > Приложения ). Как получить точный список приложений в командной строке?

РЕДАКТИРОВАТЬ № 2

То, что я имею в виду под «приложениями», в основном называется открытым окном . Как указано в Edit # 1, в диспетчере задач Windows они называют это приложения, поэтому я использовал это слово.

3
Помогает ли это: `powershell" gps |, где {$ _. Описание} | сортировка Описание | выберите Описание, Имя "` HelpingHand 6 лет назад 0
@HelpingHand Лучшее решение на данный момент, но не точно, что я ищу. Но использование get-process_ в _powershell - очень хорошая идея! Programer Beginner 6 лет назад 0
Является ли это: `powershell" gps | где {$ _. MainWindowTitle} | выберите Описание`, предоставив информацию здесь: https://blogs.msdn.microsoft.com/oldnewthing/20171219-00/?p=97606 относительно приложений? HelpingHand 6 лет назад 0
@HelpingHand Да! Я занимаюсь собственным исследованием get-процесса powershell и сейчас проверяю: `powershell" gps |? {$ _. Mainwindowhandle -ne 0} | select ProcessName | ft -hide "` но мне больше нравится ваше решение. Также спасибо за ссылку на блог, теперь я знаю, как Windows классифицирует процессы в «Приложения». Пожалуйста, напишите это как ответ, и я приму это. Programer Beginner 6 лет назад 0

1 ответ на вопрос

2
HelpingHand

По словам Рэймонда Чена, приводится следующий источник: 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 *"предоставит список свойств процесса, которые могут быть включены в фильтр или выходные данные.