Вы не можете предотвратить ваш процесс.Единственный способ сохранить работоспособность программы - это иметь второе Watchdog приложение, которое постоянно объединяет этот процесс для обеспечения его запуска.
Итак, у вас есть два приложения;AppA (Main) и AppB (Watchdog).
AppA
проверяет, работает ли AppB
.Если нет, AppA
запускает AppB
.
AppB
проверяет, работает ли AppA
.Если нет, AppB
запускает AppA
.
Но обычно это проект для злонамеренного процесса, поэтому я надеюсь, что вы ничего не сделаете.
Вы можете увидеть следующие события в очереди сообщений при нажатии Завершить процесс :
WM_CLOSE // UI app
CTRL_CLOSE_EVENT // Консольapp
Но если ваше приложение не закрывается своевременно, то будет отправлена команда kill, которая не может быть захвачена.