В Windows, если у меня есть PID для приложения, и я хочу либо сфокусировать, либо закрыть приложение через командную строку.
Какие команды мне нужно запустить?
например
FOCUS 123
или же
CLOSE 123
Где 123 - PID.
Вы можете обработать, используя tskill
:
tskill 123
Синтаксис
ЦКИЛЛ процессид | имя процесса [/SERVER: имя_сервера] [/ID: sessionid | /A] [/V]
Источник Цкилл
Чтобы установить фокус на приложение, вам нужно использовать стороннее приложение, такое как Nircmd Win.
nircmd win focus process /123
Синтаксис
nircmd win [action] [find] [окно для поиска] [Дополнительные параметры]
Источник Nircmd Win
Из окна Windows TaskKill:
taskkill [/s Computer] [/u Domain\User [/p Password]]] [/fi FilterName] [/pid ProcessID]|[/im ImageName] [/f][/t]
Пример: taskkill /pid 123
Источник Microsoft
Чтобы убить экземпляр приложения, используя его PID, используйте taskkill /pid <pid>
(список tasklist
список всех запущенных процессов).
Чтобы переключить фокус на экземпляр приложения, используя его PID, используйте VBScript ниже:
set objShell = WScript.CreateObject("WScript.Shell")
objShell.AppActivate WScript.Arguments.Item(0)
objShell.SendKeys "% x"
Документация MSDN говорит, что %
представляет ALT
. Вместе с SPACE
мы можем получить доступ к всплывающему меню Alt-Space
и использовать ускоритель клавиатуры, чтобы развернуть или восстановить окно.
Если вы сохраните его как Focus.vbs, вы можете вызвать его из командной строки, используя:
wscript Focus.vbs <pid>