Я написал процедуру обработки исключений, которая помогает нам обнаруживать проблемы с нашим программным обеспечением.Я использую
SetUnhandledExceptionFilter();
для перехвата любых необработанных исключений, и это работает очень хорошо.
Однако мой обработчик выскакивает диалоговое окно с просьбой подробно описать, что он делал во времяавария.Вот где возникает проблема, потому что диалог находится в том же контексте потока, что и сбой, диалог продолжает качать сообщения приложения.Это вызывает у меня проблему, так как один из наших сбоев находится в WM_TIMER, который срабатывает каждую минуту.Как вы можете себе представить, если диалоговое окно находилось на экране более минуты, отправляется WM_TIMER и приложение снова вылетает.Повторный вход в обработчик исключений в этой ситуации является плохой новостью.
Если я разрешу Windows обработать сбой, Windows отобразит диалоговое окно, которое работает, но останавливает сообщения, распространяющиеся на остальную часть приложения, и, следовательно,WM_TIMER не переиздается.
Кто-нибудь знает, как мне добиться того же эффекта?
Спасибо, Рич