Я пишу приложение, которое запускается в фоновом режиме от запуска до выключения, и в некоторых случаях мне нужно, чтобы приложение отображало диалог, чтобы пользователь мог выбрать, продолжать ли его выключение. Это приложение будет работать только в Windows, но может работать в любой версии, начиная с 2000 года.
Хотя я определенно провел некоторое исследование по этой теме, информация о том, как Windows обрабатывает закрытие приложения (http://msdn.microsoft.com/en-us/library/ms700677(VS.85).aspx), кажется немного рассеянной. Если у кого-нибудь есть пример наилучшего способа обработки это, или дополнительные знания по теме, я был бы очень признателен (у меня очень мало опыта работы с C #).
Спасибо !!
badPanda
Редактировать: Я знаю, что блокировка выключения не считается хорошей практикой. Это критически важное бизнес-требование для этого приложения.
Редактировать: По предложению нескольких комментаторов ниже (чтобы перепроектировать так, чтобы блокирование не требовалось), я использовал всплывающее окно NotifyIcon Balloon, чтобы информировать пользователей не закрываться, когда приложение отправляет данные. Хотя это вряд ли может помешать хранению данных на локальном компьютере в течение нескольких недель, я считаю, что это хороший компромисс между наилучшей практикой и требованиями бизнеса. В конце концов, если пользователи будут глупыми ... ну, пользователи будут глупыми.