cs_laurentl2000
Messages postés33Date d'inscriptionsamedi 22 février 2003StatutMembreDernière intervention 9 novembre 2003
-
8 nov. 2003 à 16:44
cs_laurentl2000
Messages postés33Date d'inscriptionsamedi 22 février 2003StatutMembreDernière intervention 9 novembre 2003
-
8 nov. 2003 à 17:20
Bonjour,
Si l'on veut récupérer le handle d'une fenêtre de IE par exemple, il suffit d'employer
FindWindow("IEFrame",0);
.
Mais si maintenant il y a plusieurs fenêtre de IE sans que je ne connaisse leur titre, comment pourrait-on faire pour récupérer tous les handles ? J'ai pensé à mettre FindWindow(); dans une boucle en chipotant un peu mais pas moyen de passer d'une fenêtre à l'autre pour récupérer les handles...
J'ai entendu parler de la fonction EnumWindow(); mais je n'ai pas bien compris comment l'utiliser...
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 8 nov. 2003 à 17:02
Salut,
EnumWindows(...) prend en parametre une fonction callback.
La fonction EnumWindows(...) enumere les fenetres, et pour chaque fenetre qu'elle trouve, elle appelle la callback avec le handle de la fenetre.
Il te suffit dans la fonction callback d'obtenir la class de la fenetre a partir du handle, et si la class est IEFrame tu stocke le handle de la fenetre dans un tableau.
cs_aardman
Messages postés1905Date d'inscriptionmercredi 22 janvier 2003StatutMembreDernière intervention17 septembre 20123 8 nov. 2003 à 17:17
Salut,
Une callback est une fonction que tu passe en parametre a une autre fonction qui elle va la rappeller avec des informations. Dans ce cas c'est EnumWindows(...) qui va appeller EnumWindowsProc(...) (la callback) autant de fois qu'il y a de fenetres.
Un exemple de fonction callback qui envoie les nom des fenetres d'Internet explorer a une listbox dont le handle est 'hList':