Page 1 sur 1
[..] Identification des Controls et lecture de ceux ci
Posté : jeu. 05 août 2010 13:54
par labaffegaston
Bonjour ,
ceci est mon premier post
j ai créer mon premier script avec autoit qui fonctionne a merveille . ( lecture d un fichier csv et enregistrement dans une base oracle en utilisant l interface officiel autorise pour cette base, je n ai pas les droits d import )
je désire aller plus loin d'où les 2 questions suivantes :
1 / y a t il un moyen d adresser des controls non reconnu par "Autoit V3 Windows Info" ou meme par wingethandle() et autre
en fait un control est detecte mais pas les "champs" le composant.
j ai palié a ce probleme en envoyant des {TAB} jusqu au champ desiré, j essaye de faire plus propre
exemple :
>>>> Window <<<<
Title: Intervention : Modifier En cours : Modifier
Class: WinDevObject
Position: -4, -4
Size: 1608, 1174
Style: 0x97CF0000
ExStyle: 0x00000100
Handle: 0x00060964
>>>> Control <<<<
Class: Static
Instance: 40
ClassnameNN: Static40
Name:
Advanced (Class): [CLASS:Static; INSTANCE:40]
2/ est il possible lorsque je suis sur le champ vise (avec des {TAB} toujours

) de lire le contenu de celui ci sans connaitre d ID ?
merci de votre aide .
fred
Re: [..] Identification des Controls et lecture de ceux ci
Posté : jeu. 05 août 2010 15:48
par Tlem
Je pense que ceci doit vous permettre de gérer le contrôle comme vous le souhaitez :
Re: [..] Identification des Controls et lecture de ceux ci
Posté : jeu. 05 août 2010 19:58
par labaffegaston
Malheureusement comme je l ai ecrit plus haut
ce controle : [CLASS:Static; INSTANCE:40] est un ensemble de controle ....
merci
fred
Re: [..] Identification des Controls et lecture de ceux ci
Posté : jeu. 05 août 2010 20:00
par Tlem
Sans plus d'informations, il va être difficile de vous aider ...
PS: Évitez de cliquer sur le bouton 'Citer' si votre réponse concerne le message qui précède.
Re: [..] Identification des Controls et lecture de ceux ci
Posté : jeu. 05 août 2010 21:42
par ayuckers
Bonsoir,
En utilisant le petit utilitaire Au3info tu pourras dans certain cas controler une ToolBar. a condition que celle ci soit du type "ToolbarWindow32" (sauf erreur)
voici une image et un exemple pour illustrer la chose :
cette exemple fonctionne directement sur scite lui meme
Code : Tout sélectionner
ControlCommand("[CLASS:SciTEWindow]", "", "ToolbarWindow321", "SendCommandID", 102)
Cette exemple Clique sur le Bouton Dossier de la Toolbar.
en revanche si l'onglet toolbar de Au3info ne vous retourne rien :
je n'aurais pas d'autre solution pour le moment.
Re: [..] Identification des Controls (windev)
Posté : lun. 16 avr. 2012 17:56
par softwater
Hello,
Confronté au même problème avec l'installeur de Windev, j'utilise cette méthode qui consiste à donner le focus sur un objet de la fenêtre active.
C'est du pur tatonnement mais au moins ça fonctionne... question de patience...
Merci PCSOFT.fr
Code : Tout sélectionner
WinActivate("titre de la fenêtre à activer", "texte dans la fenêtre")
ControlFocus("titre de la fenêtre à activer", "texte dans la fenêtre", "[CLASS:Button; INSTANCE:[i]instance à tester[/i]]")
Sleep(2000)
Good luck !!!
Re: [..] Identification des Controls et lecture de ceux ci
Posté : lun. 16 avr. 2012 17:58
par Tlem
@softwater
Vous avez vu la date du dernier message ???
Aout 2010, soit bientôt 2 ans !!!
On appel cela du déterrage de sujet !!!
Re: [..] Identification des Controls et lecture de ceux ci
Posté : lun. 16 avr. 2012 19:31
par labaffegaston
ca part d'une bonne vonlonté ..
meme apres 2 ans merci

Re: [..] Identification des Controls et lecture de ceux ci
Posté : lun. 16 avr. 2012 22:56
par Tlem
Ha ben maintenant que votre sujet est ressuscité, vous allez pouvoir déterminer si vous avez trouvé la solution ou non.
Re: [..] Identification des Controls et lecture de ceux ci
Posté : lun. 31 mai 2021 17:13
par labaffegaston
et bien en 2021 toujours pas je suis sur le même problème et
après pas mal de recherche je retombe sur mon post
Pour info :
je pense que ça vient de groupes de contrôles de l application qui "masque" les contrôles internes ou de niveau 2 (c est développé avec windev)
exemple if ControlCommand("","","[CLASS:Static; INSTANCE:11]","IsVisible") = 1 fonctionne
car ce control est détectable par autoit windows info
mais tout les contrôles de ce groupe (button, edit ...) ne sont pas utilisables pourtant j arrive a récupérer l id et le handle en utilisant send TAB;
mais autoit n'arrive pas les "adresser", pas de lecture de texte , pas d etat , .... rien
je continue de chercher une solution.
fred