Как через cmd закрыть процесс по названию загловка в win 2019?
Не могу разобраться как могу прибить процесс в win server 2019 по названию заголовка.
В win 10 закрывается без проблема такой командой: taskkill /F /FI "WINDOWTITLE eq "название заголовка"
В 2019 пишет "INFO: No tasks running with the specified criteria.". Но это не правда, такой процесс есть ))
Запускать от имени админа пробовал.
metalexs, другой... другой...
Сходу приходит на ум Hiasm. В нем можно логической цепочкой собрать утилиту и есть функции работы с окнами.
А так вообще - кодинг. Найти окно по заголовку (FindWindow), послать сообщение WM_CLOSE.
Вам точно нужно именно окно, а не процесс?
Владимир Шаблий, ага, потому что мне надо через Python скрипт прибить процесс cmd.exe, но у меня много процессов cmd.exe, поэтому надо найти по заголовку батника =)
Владимир Шаблий, Ага, спасибо. =). Я писал уже подобный код, но накосячил с названием заголовка окна. Ну вернее я не понимаю почему винда ставит два пробела между Administrator и title "Administrator: title" =). Я просто вывел на экран все запущенные заголовки и нашел ошибку, может кому нужна будет функция:
titles = []
def windowEnumerationHandler(hwnd, resultList):
if win32gui.IsWindowVisible(hwnd) and win32gui.GetWindowText(hwnd) != '':
resultList.append((hwnd, win32gui.GetWindowText(hwnd)))
win32gui.EnumWindows(windowEnumerationHandler, titles)
for i in titles:
print (i[1])
metalexs, taskkill вполне рабочий вариант. Но фиг знает как там фильтровать по WINDOWTITLE, состоящему из нескольких слов и т.п.
Но можно делать по другому, фильтровать в tasklist по IMAGENAME (название исполняемого файла) с ключом /v (будет выводить и WINDOWTITLE), а затем в конвеере навешивать фильтр с помощью findstr: