2012-04-27 4 views
6

Мне нужно перезагрузить приложение, если возникло необработанное исключение. Я хотел бы имитировать приложения Office, такие как Word или даже Visual Studio, которые, когда приложение выходит из строя или зависает (перестает отвечать на запросы), показывает всплывающее окно и спрашивает пользователя, хочет ли он перезапустить приложение или убить его.Перезапустить приложение при сбое

Я не уверен, как это делается, поскольку возможно, что мое приложение полностью и полностью сработало (как объяснено here). Сейчас я думаю о какой-то форме Watchdog или Launcher, но моя кишка говорит мне, что это не то, как это делают приложения, о которых я говорил.

Так что любой свет на «лучший» или «в основном принятый» способ сделать это был бы весьма признателен.

Как всегда, спасибо всем за внимание.

+0

Я думаю, что вы на правильном пути с приложением сторожевого п ... –

ответ

3

Вы можете использовать Windows Error Reporting (WER), чтобы зарегистрировать приложение для перезапуска (и даже восстановления), когда оно было запущено в течение как минимум 60 секунд до возникновения необработанного исключения.

Я не пробовал, но я нашел следующие ссылки с описанием, как это сделать:

К сожалению, это, похоже, работает только в Windows 7 и выше.

+0

Ницца! Жаль, что он работает только над Windows 7. Хороший ответ. –

+0

Я действительно протестировал его. Он работает как с Vista, так и с 7, но не ниже, и действительно требует, чтобы приложение продолжало работать не менее 60 секунд. –

Смежные вопросы