Триггер выхода из приложения планировщика задач - PullRequest
3 голосов
/ 03 февраля 2012

Я пишу (win7) программное обеспечение для киосков и хочу запланировать запуск «выключения» при каждом выходе моего приложения (Crashed, «Hacked» или Normal Exit) под определенной учетной записью пользователя с помощью планировщика задач.

Как мне создать закрытый триггер приложения ?

Если это невозможно, мой запасной план состоит в том, чтобы запустить какой-то монитор в событии запуска приложения, но я думаю, что если мой гипотетический хакер сможет закрыть основное приложение, что остановит их, закрыв процесс монитора?

РЕДАКТИРОВАТЬ: В настоящее время приложение загружается с ограниченным профилем чрезмерно с директивой "runas", олицетворяющей пользователя-администратора. Если расписание задач может быть запущено, я также могу запустить этот пакетный файл из административной учетной записи при закрытии приложения.

Ответы [ 3 ]

1 голос
/ 15 февраля 2012

Может быть, вы могли бы создать свое приложение киоска и иметь глобальный мьютекс, а приложение монитора должно ожидать мьютекс. Приложение монитора может быть сервисом, поэтому вам не нужно беспокоиться о запуске его из своего процесса. Когда ваше приложение завершает работу, монитор получает право владения мьютексом, и в качестве бонуса, если ваш процесс неожиданно завершил работу (т. Е. Не удаляет мьютекс должным образом), приложение монитора будет иметь AbandonedMutexException , брошенное Это. Таким образом, вы будете знать, было ли это нормальное завершение работы или аварийное завершение / уничтожение. Вы можете запустить приложение монитора под учетной записью с необходимыми привилегиями, чтобы выполнить любую работу по завершению работы.

1 голос
/ 15 февраля 2012

У меня есть идея.

Когда ваше приложение запускается, вы создаете расписание выключения через 1 минуту. И в вашем приложении вы можете установить таймер, чтобы периодически задерживать график. Как только ваше приложение закрывается, и никто не задерживает график, поэтому машина выключается. Также вам следует удалить расписание на обычный выход

0 голосов
/ 14 февраля 2012

Суть в том, что вы не можете, после завершения процесса приложения вы не можете продолжать выполнять код в том же процессе.Ваше приложение мониторинга приложений это путь.Я бы поставил его в известность, если возникнет какая-то проблема.Если вы установите достаточно короткий интервал опроса, не будет практичным (хотя и возможным) завершать оба приложения перед отправкой какого-либо предупреждения.

...