это реинкарнация очень старого проекта
Контроль за работой (зависанием) программ с оконным интерфейсом (используется функция SendMessageTimeout).
При запуске ProgramWatchDog, если контролируемая программа еще не запущена, то ProgramWatchDog запускает ее.
Если контролируемая программа перестала отвечать, то ProgramWatchDog попытается ее закрыть. При удачном закрытии программы, то ProgramWatchDog заново ее запускает. Если закрыть не удалось, то ProgramWatchDog перезагружает компьютер.
Вывод лог-сообщений в консоль, при закрытии ProgramWatchDog, создается лог-файл, в папке, где находится контролируемая программа, в подпапке "..\LOG",
Использование: Создаете bat-файл или ярлык, с командой:
Полный путь к программе ProgramWatchDog "Полный путь к контролируемой программе"
пример C:\PROJECTS\TEST\ProgramWatchDog.exe "C:\PROJECTS\TEST\TestAppl.exe"
Если контролируемая программа должна запускаться и после перезагрузки компьютера, то вставьте bat файл или ярлык ProgramWatchDog-а в "Автозагрузка" ОС, и он сам запустит контролируемую программу