Page 1 sur 1

[...] IdentificationFenetre fille .

Posté : jeu. 05 août 2010 14:23
par labaffegaston
Bonjour ,
je suis en train de "mapper" chaque fonction intéressante de mon logiciel a l aide d'autoit.

Func ouverture de l appli
Func ouverture de la fonction1
Func ouverture de la fonction2

le problème c est que je ne connais pas les fenêtres ouverte en temps réel par l'application et donc au lancement de mes fonctions.
exemple :
si j exécute la fonction "ouverture de la fonction2" alors que je suis dans une autre fonction . celle ci ne peux s ouvrir...
je dois donc fermer toute les fenêtres filles de la fenêtre principale pour en suite repartir de celle ci.
mais je ne sais comment les reconnaitre .
Si je les reconnait une boucle envoyant ALT+F4 a chaque fenêtre. filles et a leurs fenêtre filles ....
(En fait je remonte l'arborescence )

en étudiant la situation voila mes premières constations :
je ne peux mettre des titres de fenêtre en "dur" car il en existe une infinité(ou presque :wink: )
l idée était de faire une boucle pour les rechercher par nom -> pas possible

je ne peux fermer l'application entière a chaque fois car cela surchargera les 2 serveurs utilisés et les logs de ceux ci.
-> pas possible

merci de votre aide.
j espere que mes question ne sont pas trop "neuneu" :mrgreen:
j ail u la doc autoit et un partie du forum , en fait il me faudrait des exemples et ca roule tout seul ...
fred

Re: [...] IdentificationFenetre fille .

Posté : jeu. 05 août 2010 15:46
par Tlem
Au lancement de votre application, vous devez pouvoir récupérer le handle principal. Ensuite pour chaque fenêtre présente, vous devez vérifier si le handle parent est celui de l'application ou pas.
Cela vous permettra de savoir si telle ou telle fenêtre vient de votre application.
Ensuite, chaque fenêtre doit pouvoir être identifiée par son titre ou le texte qu'elle contient.
Ce qui vous permet de savoir quelle fenêtre est ouverte.

Conclusion, si vous connaissez le handle parent et avez la possibilité d'identifier les fenêtres enfant par quelque chose, alors vous pourrez savoir si telle ou telle fenêtre est ouverte est lancer les fonctions en conséquence.

Re: [...] IdentificationFenetre fille .

Posté : jeu. 05 août 2010 19:54
par labaffegaston
Le handle parent m'intéresse hautement , car je peux certainement faire le "tour" des fenêtres ouverte est fermer les fenêtre "fille".
un exemple de code pour recuperer cette donnee ?
merci
fred

Re: [...] IdentificationFenetre fille .

Posté : jeu. 05 août 2010 19:56
par Tlem
Au choix :
- _WinAPI_GetParent (avec handle)
ou
- _WinAPI_GetParentProcess (avec PID)

Re: [...] IdentificationFenetre fille .

Posté : ven. 06 août 2010 19:15
par labaffegaston
Merci
j essaye de ce pas ....
fred
edit : ca sera après mes vacances finalement :mrgreen: