Мне нужно каким-то образом контролировать настольное приложение и перезапускать его, если он умирает.
Первоначально я предполагал, что лучший способ - это контролировать/перезагружать процесс с помощью службы Windows, пока я не узнаю, что с Vista Службы Windows не должны взаимодействовать с рабочим столом
Я видел несколько вопросов, касающихся этой проблемы, но каждый ответ, который я видел, включал в себя какой-то хак, который не приветствует Microsoft и, вероятно, перестанет работать в будущих обновлениях ОС.
Таким образом, служба Windows, вероятно, больше не является вариантом. Я мог бы, возможно, просто создать другое приложение для настольных компьютеров и консолей для этого, но этот вид побеждает его цель.
Какой, по вашему мнению, самый элегантный способ достичь этого?
EDIT: Это не вредоносное ПО и не вирус. Приложение, которое нуждается в мониторинге, - это медиа-проигрыватель, который будет работать во встроенной системе, и хотя я пытаюсь охватить все возможные сценарии сбоя, Я не могу рисковать, если он потерпит крах при неожиданной ошибке (s ** t). Этот сторожевой сторож был бы просто защитой, если все остальное пойдет не так. Кроме того, поскольку игрок будет показывать сторонний флеш-контент, добавленный плюс будет, например, следить за использованием ресурсов и перезапускать плеер, если, скажем, какой-то дерьмовый флеш-фильм начинает утечку памяти.
EDIT 2: я забыл упомянуть, приложение, которое я хотел бы отслеживать/перезапускать, имеет абсолютно не нужно для запуска либо в учетной записи LocalSystem, либо при каких-либо административных привилегиях вообще. Фактически, я бы предпочитал его запускать с использованием учетных данных текущего пользователя.