Как узнать, кто отправляет сообщение ON_WM_SHOWWINDOW mfc

У меня есть ошибка, которую я пытаюсь исправить (Странное поведение MFC/GDI (пустое изображение), которое не появляется при записи экрана ), и я думаю, что это может быть потому, что я звоню Invalidate() до того, как я где-то звоню ShowWindow().

У меня есть класс, производный от CWnd, поэтому я хотел бы видеть, что отправляет сообщение ShowWindow (поскольку его поиск дает мне несколько тысяч мест в коде).

Я добавил ON_WM_SHOWWINDOW() в карту сообщений и могу сломаться всякий раз, когда получаю сообщение showwindow, но я не знаю, кто его отправляет. Есть ли способ сказать?

Спасибо!


person Jordan    schedule 17.11.2011    source источник
comment
Просто поднимитесь по стеку вызовов и посмотрите, кто кому звонит!?   -  person Werner Henze    schedule 17.11.2011
comment
Мфк Онвндмессаже(). Не очень полезно ;) Я никогда не вижу свой код в стеке вызовов.   -  person Jordan    schedule 17.11.2011
comment
Вверх и вверх по стеку вызовов! Если вы достигаете кода внутри user32.dll или аналогичного, загрузите символы с сервера символов MS (чтобы трассировка стека была правильной), а затем снова. Если это SendMessage, вы наверняка (может быть, через дюжину функций) вернетесь к своему коду.   -  person Werner Henze    schedule 17.11.2011
comment
Сообщения могут отправляться другими процессами.   -  person Hans Passant    schedule 17.11.2011
comment
Спасибо, это помогло мне увидеть сообщения, хотя я все еще не могу решить свою другую проблему :(   -  person Jordan    schedule 17.11.2011


Ответы (1)


Помогло добавление символов user32.dll с сервера символов MS. Спасибо Вернер.

person Jordan    schedule 17.11.2011