Страница 1 из 1

Корректное завершение программы через bat файл

Добавлено: 2017-04-22 19:04:47
Reken
Здравствуйте, подскажите пожалуйста, возможно ли корректно завершить программу через bat файл? Интересуют программы которые в трее windows (например как QIP или антивирус)... Я пытаюсь сделать так:

Код: Выделить всё

taskkill /fi /f /im "имя процесса" /t
Но после такого завершения, при повторном запуске программы, она пишет что завершилась некорректно... Без ключа /f bat файл не отрабатывает.

P.S. А вообще передо мною задача, каждый день в определенное время выключать программу, но только корректно, хотелось бы процесс автоматизировать. Taskkill а так же сторонние программы по завершению процессов, делают это некорректно.

Возможно вообще программу из трея автоматически корректно завершить?

Корректное завершение программы через bat файл

Добавлено: 2017-04-23 9:41:58
Neus
Антивирус обычно работает как служба, завершать его следует net stop или sc stop.
Если завершаемый процесс требует подтверждения пользователя, то корректно его убить не получится.

Корректное завершение программы через bat файл

Добавлено: 2017-04-24 8:33:00
Reken
Neus писал(а):net stop или sc stop.
Эти команды вроде бы останавливают только системные службы windows...
Если рассматривать на примере qip infium:

Код: Выделить всё

C:\Users\Admin>net stop infium.exe
Неправильное имя службы.

Для вызова дополнительной справки наберите NET HELPMSG 2185.

C:\Users\Admin>sc stop infium.exe
[SC] OpenService: ошибка: 1060:

Указанная служба не установлена.
Команда не отрабатывает, потому что infium не является системной службой windows...
Программа, которую мне нужно выключать, тоже не является системной службой...

Корректное завершение программы через bat файл

Добавлено: 2017-04-24 9:05:36
Neus
Reken писал(а): Здравствуйте, подскажите пожалуйста, возможно ли корректно завершить программу через bat файл? Интересуют программы которые в трее windows (например как QIP или антивирус)
Neus писал(а): Антивирус обычно работает как служба, завершать его следует net stop или sc stop.
Reken писал(а): Программа, которую мне нужно выключать, тоже не является системной службой
Neus писал(а): Если завершаемый процесс требует подтверждения пользователя, то корректно его убить не получится.
читайте внимательно что вам пишут!
--
попробуйте отключить в QIP подтверждение закрытия, если это там есть.

Корректное завершение программы через bat файл

Добавлено: 2017-04-24 10:39:57
Reken
А если нужно навести мышку на программу, далее правой кнопкой и выбрать "выход". Эти действия являются "подтверждением пользователя" ? Я думал подтверждения пользователя, это когда закрываешь программу, а она спрашивает "Вы действительно хотите выйти из программы"...

Корректное завершение программы через bat файл

Добавлено: 2017-04-24 12:27:14
Neus
хз, не силен в WinAPI
видимо разные функции вызываются
у меня аська завершается без флага /F
а onedrive -- нифига, спрашивает подтверждение.

Корректное завершение программы через bat файл

Добавлено: 2017-04-24 12:44:28
Reken
Похоже эту программу не возможно корректно закрыть через bat...
Похоже она только "ручками" корректно закрывается, а все другие варианты не корректно...

Корректное завершение программы через bat файл

Добавлено: 2017-04-24 14:16:15
FreeBSP
autoit в помощь?

Отправлено спустя :
autoit в помощь?