0 / 0 / 0
Регистрация: 16.09.2017
Сообщений: 7
|
|
1 | |
закрыть процесс26.09.2017, 13:06. Показов 2984. Ответов 14
Метки нет (Все метки)
Подскажите пожалуйста, имеется программа, которая всегда как активное окно, периодически программа "prog" закрывается (процесс остается) и вылетает окно с ошибкой. Необходим батник или vbs, который постоянно крутится и при появлении окна с ошибкой убивает процесс "prog" и заново запускает программу. Пробовал отлавливать ошибку по windowtitle, но ошибка это тот же процесс что и сама "prog".
0
|
26.09.2017, 13:06 | |
Ответы с готовыми решениями:
14
Закрыть процесс с ожиданием подтверждения Как сделать так что бы батник мониторил процесс и если процесс перезепустился то запуск или перезапуск другой программы После выполнения всех команд закрыть процесс по PID Закрыть порты на серверном терминале (какие порты в данном случае можно закрыть?) |
4334 / 2124 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
|
|
26.09.2017, 13:19 | 2 |
если основной процесс "prog.exe" будет запускаться из bat и при появлении окна с ошибкой в bat будет отрабатывать %errorlevel%, тогда еще можно что-то придумать, иначе такое окно bat не отловит.
0
|
0 / 0 / 0
Регистрация: 16.09.2017
Сообщений: 7
|
|
26.09.2017, 13:22 [ТС] | 3 |
а может как то можно по размеру окна "prog.exe"? когда "prog.exe" работает она на весь экран,а когда ошибка то становится меньше.
0
|
26.09.2017, 14:55 | 4 |
oneegin, Здесь нужен сервис, который с определенной периодичностью будет искать окно с ошибкой, и отсылать окну команду закрытия.
Можно сделать через Powershell + Winapi и Планировщик, но точно не CMD Потребуются: FindWindowExA SendMessage Окно ошибки искать можно по имени класса , предварительно уточнив его, например, через WinSpy
0
|
0 / 0 / 0
Регистрация: 16.09.2017
Сообщений: 7
|
|
26.09.2017, 15:01 [ТС] | 5 |
не силен в этом) я больше по АСУТП) ткните на пример кода с поиском окна findwindow, думал уже об этом класс окна узнал через WinDowzer.
0
|
26.09.2017, 15:09 | 6 | |||||
oneegin,
0
|
0 / 0 / 0
Регистрация: 16.09.2017
Сообщений: 7
|
|
29.09.2017, 12:51 [ТС] | 9 |
а подскажите как через nircmd это сделать? или натолкните на пост. гуглом пользоваться умею, но время ограниченно...
0
|
29.09.2017, 13:03 | 10 | |||||
Сообщение было отмечено oneegin как решение
Решение
Что-нибудь вроде такого:
nircmd взять отсюда. ну и загнать в цикл. а если уж делать через службу или C#, PS, то красивее поставить хук на появление нового окна, чтобы не нагружать проц одним и тем же циклом.
0
|
29.09.2017, 13:13 | 11 |
Dragokas,
К своему стыду, у меня проект с подобным функционалом сделан через цикл
0
|
Dragokas
|
29.09.2017, 13:32
#14
|
Не по теме:
1
|
0 / 0 / 0
Регистрация: 16.09.2017
Сообщений: 7
|
|
30.09.2017, 07:03 [ТС] | 15 |
все получилось через nircmd, только пришлось переопределить заголовок самой программы..
0
|
30.09.2017, 07:03 | |
30.09.2017, 07:03 | |
Помогаю со студенческими работами здесь
15
Закрыть процесс по ID Не могу закрыть процесс Закрыть excel процесс Закрыть сторонний процесс Закрыть процесс использования файла Как правильно закрыть процесс Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |