4

Я не смог найти помощь в этом конкретном вопросе, и мне интересно, есть ли у него решение. У меня есть несколько экземпляров программы, работающей на Windows 7. Как я могу убить определенное окно (возможно, основываясь на имени файла, которое открыто)?

Предыстория: у меня на рабочем столе клиентское приложение для программного обеспечения ETL (SAS EG), и обычно что-то идет не так, и сессия зависает. Но у меня одновременно открыто много сессий, т.е. несколько экземпляров программы, запущенной на моем рабочем столе, каждый из которых имеет свой собственный сеанс на удаленном сервере. Я хочу убить только ту, которая замерзла и продолжить работу с другими экземплярами. Я знаю, что это возможно, я могу убить один экземпляр из диспетчера задач, но это русская рулетка, поскольку процессы нельзя отличить друг от друга в диспетчере задач. Большое спасибо за любую помощь.

1 ответ1

3

Как я могу убить определенное окно (возможно, основываясь на имени файла, которое открыто)?

окна имеют разные заголовки в зависимости от имени открытого файла (в данном случае это имя проекта).

Вы можете использовать taskkill для уничтожения процессов, имеющих окна с указанным заголовком.

пример

Учитывая следующее окно:

Команда для уничтожения этого экземпляра блокнота, который редактирует файл с именем test.txt:

taskkill /f /fi "windowtitle eq test.txt*"

Выход:

>taskkill /f /fi "windowtitle eq test.txt*"
SUCCESS: The process with PID 5356 has been terminated.

Заметки:

  • Замените test.txt* строкой, которая однозначно идентифицирует окно вашего приложения.

Дальнейшее чтение

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .