нарушение прав доступа в WM_PAINT не обнаружено
Чтобы проверить эту проблему, я написал минимальное приложение для Windows. Если я заставлю нарушение доступа вWM_PAINT
Обработчик этого исключения никогда не попадает в отладчик. При запуске без отладчика нарушение доступа также не отображается. Обычно вы должны получить диалоговое окно Windows Error Reporting.
Копаясь немного глубже, кажется, что что-то в user32.dll ловит все входящие исключения. Это нормальное поведение? Могу ли я как-то это контролировать? Isn»Т поймать все исключения как угрозу безопасности? По крайней мере, это чертовски раздражает.
Это относится к 32- и 64-разрядным приложениям в Vista 64. В XP исключение, по-видимому, обрабатывается, как и ожидалось. Другие сообщения Windows имеют ту же проблему. Может быть, все они?
WM_PAINT
обработчик:
case WM_PAINT:
hdc = BeginPaint(hWnd, &ps);
*(int*)0 = 0;
EndPaint(hWnd, &ps);
break;