Подтвердить что ты не робот

Как получить список запущенных приложений с помощью PowerShell или VBScript

Мне нужно программно получить список запущенных приложений, как показано на вкладке "Приложения" внутри диспетчера задач Windows, используя PowerShell или VBScript.

Все, что я могу найти до сих пор, - это список процессов с использованием VBScript и WMI.

4b9b3361

Ответ 2

Это закроет вас в PowerShell:

get-process | where-object {$_.mainwindowhandle -ne 0} | select-object name, mainwindowtitle

Или более короткая версия:

gps | ? {$_.mainwindowhandle -ne 0} | select name, mainwindowtitle

Ответ 3

@Steven Murawski: Я заметил, что если бы я использовал mainwindowhandle, я бы получил некоторый процесс, который работал, конечно, но не на вкладке "Приложения". Как исследователь и UltraMon и т.д. Вместо этого вы можете отключить mainwindowtitle, так как тот процесс, с которым я столкнулся, не имел оконных названий - вот так

gps | ? {$_.mainwindowtitle.length -ne 0} | select name, mainwindowtitle

Ответ 4

из командной строки, которую вы ищете:

tasklist /v /v означает подробный и будет содержать список "приложение, запускающее каждый процесс

tasklist /v /fi "imagenaem eq POWERPNT.EXE" например, может использоваться для фильтрации всего приложения, запущенного в процессе POWERPNT.EXE.

Ответ 5

ответ stahler, преобразованный в PowerShell:

$word = new-object -com 'word.application'

$word.tasks |? {$ _. visible} | выберите имя

$word.quit()