Всем привет!
Может знает кто как можно сделать так чтобы моя софтина была неубиваемой... ну или хотя бы сама перезапускалась в случае убиения.... (другой процесс её перезапустит в контексте тек. юзера). Или же служба от Local System сама будет запускать софтину с токеном текущего юзера.... но это сложно.
Может кто знает ещё идеи...??????????
"Неубиваемая" как-то уж слишком обще. Если процесс нужно защитить от юзера это надо его правами решать. Программа, которую и админ закрыть не может, по-моему, сомнительная какая-то программа, перебор уже. Если же программу нужно защитить от возможных падений/зависаний её самой, то, скорее всего следящую за ней службу надо. Например, у sql сервера Firebird кроме самого сервера запускалась ещё служба Firebird Guardian Service (раньше по крайней мере так было)
Так xmoonlight же написал. Только сервисом делать не обязательно (мы это делали, т.к. легко было привязаться к запуску базы данных, у служб есть настройка зависимостей). Сама программа запускалась невидимой, только значок внизу справа. Опции: открыть окно, выйти по паролю.
В обработчике закрытия учитывалось введена команда закрытия через меню или по нажатию крестика (в последнем случае окно просто делалось невидимым)
Естественно, можно убить процесс через диспетчер задач.
Александр Скуснов, Windows по завершении работы посылает все 2 сообщения через очередь. Не помню как конкретно они называются. Первое, типа "сейчас будем выходить" ответом на него можно попросить систему подождать, если идет какая-то критическая операция. И второе, типа " все, выходим". Можно ловить эти сообщения и в OnCloseQuery отвечать True. Тогда все будет корректно закрываться.