2010-02-23 4 views
1

Je veux trouver toutes les fenêtres qui recouvrent entièrement ou partiellement ma fenêtre (sont dessus). Dans un cas particulier, si j'ai deux poignées de fenêtre (hWnd1 et hWnd2), je veux savoir si hWnd2 chevauche partiellement ou complètement hWnd1. Les fenêtres en question sont des fenêtres de bureau (pas les enfants/frères et sœurs dans le même processus).Obtenir toutes les fenêtres qui chevauchent ma fenêtre

Répondre

2

itérez les fenêtres qui pourraient chevaucher les vôtres en appelant plusieurs fois GetWindow() à l'aide de GW_HWNDPREV. Utilisez GetWindowRect() pour vérifier si une telle fenêtre chevauche la vôtre. Il n'y a pas de raccourci pour deux fenêtres connues, vérifiez simplement si GetWindow() renvoie hWnd2 pendant l'itération.

+0

Notez que GetWindow peut renvoyer la fenêtre d'origine, si elle est mise en avant pendant cette itération. –

Questions connexes