Page 1 sur 1

[R] Connaitre le titre d'une fenetre

Posté : jeu. 17 juin 2010 10:55
par timike972
Bonjour,
Mon post peu semblée bizare ou peu etre bete mais je souhaiterai connait ou recuperer le titre d'une fenetre car
quand jutilise :
► Afficher le texte
cela ne fonctionne pas j'en est donc conclue que je n'ai pas a l'exactitude le nom de ma fenetre
autre information que j'aimerai connaitre c'est a propos du prototype de la fonction ControleClick,
jai lu sur un autre forum que c'etait ControlClick("Titre","Text","controleID")
je sais qu'il y a encore 2 autres parametres "clic droite/gauche/milieu" et "nombre de clic" mais ils sont facultatif...
j'aimerai donc avoir plus de precision sur ce qu'est "text" et "controleID" parceque j'ai fait pas mal de tuto mais il n'a jamai vraiment été expliqué...
merci d'avance

Re: [..] Connaitre le titre d'une fenetre

Posté : jeu. 17 juin 2010 10:59
par ZDS
Bonjour!

WinGetTitle : http://www.autoitscript.com/autoit3/docs/functions/WinGetTitle.htm
Tu n'as à fournir qu'un prototype de nom (pas forcément exact) et la fonction t'en récupère le nom complet.
Sinon à la place du titre et du texte dans ton ControlClick("Titre","Text","controleID"), tu peux aussi fournir le handle de la fenetre et faire ControlClick($handle,"","controleID"), ça passe très bien aussi.
Tu peux récupérer le handle de plusieurs façons, jette un coup d'oeil à WinGetHandle : http://www.autoitscript.com/autoit3/docs/functions/WinGetHandle.htm et WinList : http://www.autoitscript.com/autoit3/docs/functions/WinList.htm.

A bientôt !

Re: [..] Connaitre le titre d'une fenetre

Posté : jeu. 17 juin 2010 11:05
par timike972
mercii :D
et au niveau des attribut "text" et "controlID" tu pourrai me donner plus d'information les concernants?

Re: [..] Connaitre le titre d'une fenetre

Posté : jeu. 17 juin 2010 11:18
par ZDS
De rien, n'oublie pas de passer le sujet en [R]ésolu si tu en as fini ^^
timike972 a écrit :j'aimerai donc avoir plus de precision sur ce qu'est "text" et "controleID" parceque j'ai fait pas mal de tuto mais il n'a jamai vraiment été expliqué...
'text' correspond à du texte significatif que tu aurais DANS la fenetre, exemple si tu as plusieurs fenetres avec le même titre (ça arrive souvent ^^), tu peux différencier une fenêtre d'une autre en fonction de ce qui peut y avoir à l'intérieur (l'une aurait le mot "configuration" et l'autre le mot "installation").
'controlID' quant à lui est un identifiant du bouton ou autre item sur lequel tu veux cliquer. Tu peux l'identifier de plusieurs façon comme une fenêtre, un nombre ($handle du bouton), ou une chaine de caractères particuliers (je te conseille de jeter un coup d'oeil à Win Title Advanced : http://www.autoitscript.com/autoit3/docs/intro/windowsadvanced.htm et Controls : http://www.autoitscript.com/autoit3/docs/intro/controls.htm)

Au plaisir, et à la prochaine !

PS:
timike972 a écrit :Mon post peu semblée bizare ou peu etre bete
Pas forcément, faut bien commencer au départ, on a tous été des newbies un jour ^^ (sans aucune remarque péjorative)

Re: [...] Connaitre le titre d'une fenetre

Posté : ven. 18 juin 2010 09:25
par timike972
derniere renseignement je souhaiterai savoir si c'est possible de fait un "send" de 3 touche simultané ?
exemple dans mon cas je souhaiterai faire ATL+{BS}(pour la bar d'espace)+U pour reduire un fenetre, a moin qu'il y ait une fonction permettant de le faire :)

Re: [..] Connaitre le titre d'une fenetre

Posté : ven. 18 juin 2010 10:01
par ZDS
Bonjour !

Alt est une touche à état, on peut faire des combinaisons avec d'autres sans problème. Par contre Espace et U ne le sont pas, donc pas moyen de faire un Send "propre" en une seule ligne si tu veux faire un Alt + Espace + U en même temps. Un moyen détourné est de le faire en deux fois , 1er temps on appuye les trois touches, 2nd temps on les relache :
Send("{LALT DOWN}{SPACE DOWN}{U DOWN}")
Send("{LALT UP}{SPACE UP}{U UP}")

Par contre, si c'est pour réduire les trois touches n'ont pas besoin d'être appuyées toutes les trois en même temps, c'est Alt + Espace PUIS U, et dans ce cas, tu peux le faire de la façon suivante :
Send("!{SPACE}U") a pour effet de faire un Alt + Espace (le symbole '!' veut dire Alt en association avec la touche qui suit directement, sans le U, juste le {SPACE}) puis un U. Pour plus d'infos, jette un oeil à Send : http://www.autoitscript.com/autoit3/docs/functions/Send.htm

Mais je te préviens de suite c'est vraiment "dégueulasse" comme façon de faire ^^ il y a une méthode toute faite pour changer l'état d'une fenêtre c'est WinSetState : http://www.autoitscript.com/autoit3/docs/functions/WinSetState.htm, pour réduire une fenêtre, il te suffit d'un WinSetState($titre, $texte, @SW_MINIMIZE) ou comme précédemment, WinSetState($handle, "", @SW_MINIMIZE).

A bientôt !

Re: [..] Connaitre le titre d'une fenetre

Posté : ven. 18 juin 2010 10:11
par timike972
mon code resemblai a sa plutot:

send ("!{BS}u")

encore merci tu gere mdr :D reponse rapide et claire bonne continuation

Re: [..] Connaitre le titre d'une fenetre

Posté : ven. 18 juin 2010 10:15
par timike972
ZDS a écrit : Par contre, si c'est pour réduire les trois touches n'ont pas besoin d'être appuyées toutes les trois en même temps, c'est Alt + Espace PUIS U, et dans ce cas, tu peux le faire de la façon suivante :
Send("!{SPACE}U") a pour effet de faire un Alt + Espace (le symbole '!' veut dire Alt en association avec la touche qui suit directement, sans le U, juste le {SPACE}) puis un U. Pour plus d'infos, jette un oeil à Send : http://www.autoitscript.com/autoit3/docs/functions/Send.htm
ahhh jutilisai {BS} je sais plus sur quel site javai lu que c'etait pour faire bar d'espace !! okok ba devrai marcher maintenent :P