Как узнать когда меняется окно zorder - PullRequest
2 голосов
/ 28 июня 2009

Ищете способ получать уведомления при изменении Windows ZOrder?

Зордер относится к расслоению окон. Zorder 0 находится внизу. Я не знаю другого способа задать этот вопрос.

Это будет для Windows XP или новее с использованием .NET, c # ИЛИ vb.net.

1 Ответ

2 голосов
/ 28 июня 2009

Очевидно, что окна будут отправлять WM_WINDOWPOSCHANGING , когда ваше окно перемещается / изменяет размер / меняет местами z ордер. Объедините это с GetTopWindow и GetNextWindow, чтобы выяснить, каков текущий порядок окон, и вы сможете определить, где находятся все окна в вашем приложении. 825595 содержит подробности об этих двух вызовах API. 798295 имеет больше информации о GetNextWindow.

edit , хотя это уже принято ...

И для тех, кто находит это через Google, 932988 имеет информацию о том, как перехватить эти сообщения с помощью WndProc. Я не хочу оставлять вопрос не полностью отвеченным: -)

...