Если происходит сбой моего приложения, я перехватываю сбой (используя функцию SetUnhandledExceptionFilter). В моем обработчике сбоев я создаю мини-дамп-файл и уведомляю пользователя о сбое его приложения. Это уведомление делается через MessageBox с флагом MB_TASKMODAL, поэтому остальная часть приложения блокируется.
К сожалению, это не блокирует обработку сообщений перерисовки и таймера. В частности, сообщения таймера очень раздражают, поскольку они могут выполнять все виды промежуточных действий (в зависимости от того, какие плагины загружены в мое приложение), даже сохранять в файлы резервных копий и т. Д.
Существует ли простой способ запретить Windows отправлять сообщения перерисовки и таймера (при отображении всплывающего окна «Вы потерпели крах»)?
Альтернативой может быть использование некоторой глобальной переменной, которая будет установлена в моем обработчике сбоя и проверена в каждом месте моего приложения, где я буду выполнять некоторую логику, но это кажется довольно «грязным» и негибким решением мне.
Есть ли более простой способ? (и только убедившись, что цикл сообщений окна сообщений обрабатывает только сообщения окна сообщений, а не сообщения других окон).
Thanx
Patrick