Вверх ↑
Ответов: 321
Рейтинг: 10
#1: 2018-03-27 19:13:38 ЛС | профиль | цитата
Netspirit писал(а):
А если запущено несколько копий программы?

TASKKILL должен по идее убить все процессы с именем программы, хоть 100 копий.
Можно закрыть еще по pid, ну это так к сводке, просто изначально хотел, чтобы так закрывало и как раз, если много копий программы то лучше по имени, если я правильно Вас понял, вы имеете ввиду, если один exe запущен несколько раз ?!.
/PID процесс - Идентификатор процесса, который требуется завершить. Используйте TaskList, чтобы получить PID.
/T - Завершение указанного процесса и всех его дочерних процессов.
/F - Принудительное завершение процесса.

Netspirit писал(а):
А если пользователь в этот момент что-то делает и не сохранил изменений?

Обновление проверяется при запуске программы. И если есть обновление, то предлагает обновится принудительно, да-обновится, нет-закрыть программу.

Netspirit писал(а):
Для закрытия программы лучше отправлять всем окнам (или окнам с классом как у программы) сообщение WM_CLOSE (а лучше - своё собственное сообщение с предопределенными параметрами, а в программе - ожидать получения). Ожидание завершения, если требуется - на основе мютекса (ну, или пытаться заменять файл до тех пор, пока не получится).

Спасибо большое за мысли, то есть все таки делать второе приложение ?! Я чуть-чуть не понял.
___________________________________________________
Еще был вариант сделать sfx архив самораспаковывающийся, запускать его по окончанию закачки на пк, через onClose. Ну не знаю, успеет ли программа закрыться, до распаковки архива. Ну или опять же запускать .bat, который запустит sfx с задержкой.
Удобно, что sfx можно запускать с интересными параметрами:
MiscFlags="4" - готовый sfx, при запуске, будет требовать права Администратора.
OverwriteMode=... - режим перезаписи файлов.
RunProgram= - запуск указанного файла, после распаковки.
Но опять же не хочется оставлять мусор, а само удаления архива вроде как нет, опять придется распаковать еще .bat который удалит архив и себя, это второй вариант)
карма: 1

0
Редактировалось 10 раз(а), последний 2018-03-27 19:42:53