Harkonnen a écrit :
Tu ne peux pas, pour la simple raison qu'il n'y a pas forcément d'hWnd associé à un hInstance. Ou alors, tu peux avoir plusieurs hWnd associés également. Plusieurs solutions :
- Soit tu utilises FindWindow en passant en paramètre la classe de la fenêtre que tu peux récupérer via des utilitaires comme Spy++. (Pourquoi ne peux tu pas l'utiliser au fait ?)
- Soit tu parcours la hiérarchie de fenêtres de premier plan via GetWindow(). A chaque fenêtre que tu trouves, tu utilises GetWindowWord() pour récupérer le hInstance de la fenêtre. Tu compares ensuite ce hInstance avec celui que tu souhaites, et s'ils collent => c'est la bonne fenêtre
- Tu attends quelques instants (le temps de traiter quelques messages par exemple), puis tu appelles GetActiveWindow() pour récupérer le hWnd.
Bref, c'est pas simple. Je te recommande la 1ere solution.
|