13 oct. 2011

Vérifier si une fenêtre est recouverte par d'autre fenêtres (Win32 API)

Ce code, très court, vérifie si une fenêtre contrôlée par un HWND est couverte par une ou plusieurs autres fenêtres de la même application.

Le code utilise la fonction GetNextWindow de la'API Win32, et a donc les mêmes limitations que cette dernière:

  • si le paramètre est une fenêtre Top Most, alors la fonction ne parcours que les autres fenêtres Top Most
  • si le paramètre est une fenêtre Top Level, alors la fonction ne parcours que les autres fenêtres Top Level
  • si le paramètre est une fenêtre Child, alors la fonction ne parcours que les autres fenêtres Child

Il se peut que ça ne soit pas ce que vous souhaitez - dans ce cas, il faudra modifier la fonction que je vous propose en conséquence (n'hésitez pas à repasser par ici pour proposer votre version améliorée !).

Je mets ce code sous licence libre (basée sur une licence zlib, ce qui signifie que vous en faite exactement ce que vous voulez). Le code lui-même a été écrit il y a quelques années et je l'avais déjà posté sur mon journal GameDev.Net. A l'époque, je l'avais conçu pour résoudre un problème précis - par contre, incapable de me rappeler lequel...

En cas de problème, n'hésitez pas à me contacter - par le biais d'un commentaire, ou par mail à question@emmanueldeloget.com.

Ajouter un commentaire

Les commentaires peuvent être formatés en utilisant une syntaxe wiki simplifiée.

Fil des commentaires de ce billet