Les Contrôles

Une des meilleures nouveautés de AutoIt v3 est la possibilité de travailler directement avec certains types de Contrôles de fenêtre. Pratiquement tout ce que vous voyez dans une fenêtre est un contrôle d'un certain type.  Bouton, liste déroulante, champ d'édition, texte statique sont tous des exemples de contrôles. En fait, Le Bloc-notes n'est qu'un gros contrôles "d'édition" ! Parce que AutoIt travaille directement sur les contrôles, ils fournissent un moyen plus fiable d'automatiser les tâches, plutôt que d'envoyer des combinaisons de touches.


Note : AutoIt ne fonctionne qu'avec les contrôles standards de Microsoft Windows. Certaines applications écrivent leurs propres contrôles personnalisés, qui ressemblent à des contrôles standard MS mais qui résistent à l'automation.  A vous d'essayer !

 

En utilisant AutoIt Window Info vous pouvez bouger votre souris sur une fenêtre qui vous intéresse et vous obtiendrez des informations sur le contrôle qui se trouve sous le curseur de la souris. 

Une description spéciale peut être utilisée comme le paramètre controlID utilisé dans la plupart des fonctions Control...(). Cette description peut être utilisée pour identifier un contrôle par les propriétés suivantes :

Une ou plusieurs propriétées peuvent être utilisées comme paramètre de controlID dans une commande comme ceci :

[PROPERTY1:Value1; PROPERTY2:Value2]

Note : Si ce format spécial n'est pas utilisé alors le paramètre est considéré comme Control ID (si numérique) ou la ClassnameNN/texte du contrôle (si c'est une chaîne). Bien que le format spécial est plus complexe que ces méthodes, il est beaucoup moins ambigu.

Si une valeur doit contenir un ";" il doit être doublé.


Exemple : Envoyer du texte au premier contrôle Edit dans la fenêtre du bloc-notes.

ControlSend("Sans titre - Bloc-notes", "", "[CLASS:Edit; INSTANCE:1]", "Voici un peu de texte")

ou

ControlSend("Sans titre - Bloc-notes", "", "[CLASSNN:Edit1]", "This is some text")

ou

ControlSend("Sans titre - Bloc-notes", "", "Edit1", "Voici un peu de texte")


Exemple : Cliquer sur le contrôle ID 254 dans "Ma Fenêtre"

ControlClick("Ma fenêtre", "", "[ID:254]")

ou

ControlClick(""Ma fenêtre", "", 254)


Exemple : Définit le texte du contrôle "textBoxFolder" de la winForm du Framework .NET à "C:\Some\Folder"

ControlSetText("Ma fenêtre", "", "[NAME:textBoxFolder]", "C:\Some\Folder")


Exemple : Cliquer la deuxième instance d'un contrôle "Button" contenant le texte "Fin"

ControlClick("My Window", "", "[CLASS:Button; TEXT:Finish; INSTANCE:2]")



Handle (HWND) de contrôle

En utilisant la fonction ControlGetHandle, vous pouvez déterminer le Handle ou HWND d'un contrôle. Un handle est un identifiant unique que Windows donne aux contrôles. Le handle change chaque fois que le contrôle est créé. Cette méthode d'accés aux contrôles est généralement destiné aux utilisateurs habitués à la manipulation des handles.



Regardez du côté de Référence des Fonctions \ Gestion des Fenêtres \ Contrôles pour obtenir la liste des fonctions qui travaillent avec les contrôles.