Получить все окна, которые перекрывают мое окно - PullRequest
1 голос
/ 23 февраля 2010

Я хочу найти все окна, которые полностью или частично перекрывают мое окно (поверх него). В особом случае, если у меня есть два дескриптора окна (hWnd1 и hWnd2), я хочу выяснить, частично или полностью hWnd2 перекрывает hWnd1. Рассматриваемые окна являются окнами рабочего стола (не дети / братья и сестры в одном и том же процессе).

1 Ответ

2 голосов
/ 23 февраля 2010

Итерируйте окна, которые могут перекрывать ваши, многократно вызывая GetWindow (), используя GW_HWNDPREV. Используйте GetWindowRect (), чтобы проверить, действительно ли такое окно перекрывает ваше. Для двух известных окон нет ярлыков, просто проверьте, возвращает ли GetWindow () hWnd2 во время итерации.

...