[R] Impossible de trouver le bouton

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
megane962
Niveau 1
Niveau 1
Messages : 10
Enregistré le : lun. 08 mars 2021 15:28
Status : Hors ligne

[R] Impossible de trouver le bouton

#1

Message par megane962 »

Bonjour à tous !

J'ai commencé à écrire un script pour faire des manipulations automatique dans un logiciel qui me sert à imprimer des données.
Actuellement j'ai réussi à lancer le logiciel et à effectuer quelques commandes :
Opt("WinTitleMatchMode", 1) ; Permet de chercher qu'une partie du titre de la fenêtre.
; Affichage d’une infobulle d’information
Traytip ("Ouverture BaseDeDonnée","Début d'Impression BaseDeDonnée",1000)
; Pause de 3 secondes
Sleep(3000)
; Lancer le programme
ShellExecute("BaseDeDonnee.exe")
; Attendre la fenetre principal de la BaseDeDonnée
WinWaitActive("Base De Donnée Central")
; lancer la fenetre principal de de la Base de Donnée Journaliere en effecutant une suite de frappe clavier
Send("!j")
Send ("t")
; Attendre la fenetre principal de la Base de Donnée Journaliere
WinWaitActive("Saisie de la Base de Donnée Journaliere pour J-n")
Donc, j'ouvre le logiciel et je me rend dans la fenêtre qui m’intéresse.
La où ça devient difficile c'est que je souhaite cliquer avec un controlClick par exemple sur un bouton dans la fenêtre en question, mais le bouton n'a pas de text et n'est même pas detecter par Autoit info.
Voici des images :
Image

Comment cliquer sur ce bouton sans passer par MouseClick s'il vous plait ?
Il y a t'il un moyen de connaitre la class et instance de ce bouton ?

EN vous remerciant à tous par avance ;)
Fichiers joints
buton.png
Modifié en dernier par megane962 le mer. 10 mars 2021 01:39, modifié 1 fois.
megane962
Niveau 1
Niveau 1
Messages : 10
Enregistré le : lun. 08 mars 2021 15:28
Status : Hors ligne

Re: [..] Impossible de trouver le bouton

#2

Message par megane962 »

J'ai trouvé une solution alternative en cliquant sur la couleur du bouton :
$color="0xFF0000"
Sleep(1000)
$coord=PixelSearch(0,0,@DesktopWidth,@DesktopHeight,$color)
if @error=1 Then Exit 1
MouseClick("left",$coord[0],$coord[1])
Mais je laisse le sujet ouvert, si quelqu'un aurai la solution principal ;)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Impossible de trouver le bouton

#3

Message par Tlem »

Bonjour Mégane.
Ce sujet récent peux éventuellement "répondre" a votre question.

Mais comme déjà évoqué, certains composants graphique exotique (Delphi, Windev, etc ..) peuvent être assez compliqué à atteindre directement avec les outils intégrés.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
rgx
Niveau 4
Niveau 4
Messages : 61
Enregistré le : sam. 16 nov. 2019 17:53
Status : Hors ligne

Re: [..] Impossible de trouver le bouton

#4

Message par rgx »

Bonjour Mégane,

Ne pas oublier de restreindre la zone de recherche de Pixel à la zone interne de l'application, sans cela n'importe quel pixel de même couleur sur le bureau (ex, une icône) risque de capter le curseur.

Je préfère utiliser ImageSearch avec l'image du bouton.
Si le bouton n'est pas complètement unique, mais toujours à une même place, on peut se servir d'un repère externe (ex: la barre titre)

:wink:
megane962
Niveau 1
Niveau 1
Messages : 10
Enregistré le : lun. 08 mars 2021 15:28
Status : Hors ligne

Re: [..] Impossible de trouver le bouton

#5

Message par megane962 »

Merci Tlem pour le sujet intéressant. Merci rgx pour l'astuce avec ImageSearch et le conseil de restreindre la zone !
Je vais mettre le sujet Résolu ;)
Répondre