Окно сообщения, в котором отображается ошибка подтверждения, содержит насос сообщений для своих собственных целей. Но он будет отправлять все входящие сообщения, а не только сообщения для окна сообщений (в противном случае все может быть заблокировано).
В обычном модальном диалоге это не проблема, поскольку родительское окно обычно отключается на время диалога.
Код, который запускает диалоговое окно подтверждения, должен был не определить родительское окно, и поэтому он не был отключен. Это может произойти, если ваше главное окно не является активным окном на момент подтверждения. Другие вещи могут пойти не так, как надо.
Вы можете изменить способ отображения средой выполнения Visual Studio C ошибок подтверждения с помощью _CrtSetReportMode . Вы можете остановить его в отладчике и / или войти в окно вывода вместо того, чтобы пытаться показать диалоговое окно.