Обработка сообщения AeroSnap в WndProc

В моем приложении C # .NET 4 я использую WndProc для обработки некоторых сообщений, в основном связанных с изменением размера приложения в полноэкранный режим и обратно.

Прямо сейчас я просто обрабатываю SC_MAXIMIZE и WM_NCLBUTTONDBLCLK , чтобы определить, изменяется ли размер окна до или из развернутого состояния (я знаю, что мне не нужен WndProc для обработки SC_MAXIMIZE , но Form_Resize , похоже, не срабатывает для сообщения WM_NCLBUTTONDBLCLK , когда я дважды щелкаю по строке заголовка приложения.

Теперь я заметил, что если Я Aero Snap привязываю окно к верхней части экрана, чтобы развернуть его, ни одно из вышеперечисленных сообщений не публикуется, поэтому определенная логика не применяется, когда окно развертывается с помощью Aero Snap. Я хочу обрабатывать сообщение только в том случае, если окно привязано к вверху экрана, а не вправо или влево, или если окно не привязано к максимальному положению.

Я не смог найти ни одного оконного сообщения, связанного с Aero Snap. Кто-нибудь знает какие-либо ссылки на эти сообщения?

5
задан drew010 17 February 2012 в 01:07
поделиться