Mystere avec controlclick

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Tragix
Niveau 1
Niveau 1
Messages : 2
Enregistré le : ven. 06 sept. 2019 12:31
Status : Hors ligne

Mystere avec controlclick

#1

Message par Tragix »

Bonjour,
Voilà je suis en stage en entreprise et je dois installer un programme qui ne supporte pas l'installation silencieuse sur beaucoup de machine.
Je me lance donc dans la création d'un script via AutoIt pour alléger ma tâche.
Or une des premières fenêtres ne peut être atteinte via les touches clavier je suis donc obligé d'utiliser "controlclick"
mais rien ne se passe.
voici mon code pour le moment.
; signalement du début d'installation
TrayTip("installation de ciel", "début de l'installation de ciel", 1000)
; pause
Sleep(3000)
; lancement du programme d'installation
ShellExecute("ciel2018.exe")
sleep(5000)
; ciblage des fenetres pour action
WinWaitActive("Installation de Pack Enseignants", "Bienvenue dans l'assistant d'installation de Pack Enseignants.")
;lancement de l'installation
ControlClick("Installation du Pack Enseignants", "&Suivant >", "[CLASS:Button; INSTANCE:2]")

Je précise qu'il y a un #requireAdmin
Bien à vous.
Avatar du membre
scorp84
Niveau 7
Niveau 7
Messages : 400
Enregistré le : mar. 04 nov. 2008 21:51
Localisation : Avignon, France
Status : Hors ligne

Re: Mystere avec controlclick

#2

Message par scorp84 »

Bonjour Tragix,

Je vous conseille d'utiliser l'utilitaire fourni avec Autoit (Au3Info.Exe ou Autoit Window Info) si ce n'est pas fait.

Pour la seconde partie de ControlClick ou winwait active, je renseigne rarement le texte affiché car j'ai déjà eu des surprises,je mets "".

Voyez peut être aussi du côté de WinTitleMatchMode.

En espérant avoir pu vous aider.

Cordialement.

BM
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1020
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: Mystere avec controlclick

#3

Message par walkson »

Bonjour,
En plus de ces très bons conseils, je rajouterais de lire les retours des fonctions pour situer le problème (au moins dans la phase test) et de mettre le chemin complet du programme. Exemple:
$Pid = ShellExecute("C:\Users\moi\Desktop\ciel2018.exe");chemin complet
ConsoleWrite($Pid & @CR) ;Retourne le PID du processus sinon 0
sleep(5000)
; ciblage des fenetres pour action
$hHandle = WinWaitActive("Installation de Pack Enseignants", "");Retourne le handle de la fenêtre demandée sinon 0
ConsoleWrite($hHandle & @CR)
;lancement de l'installation
$clic = ControlClick($hHandle,"", "[CLASS:Button; INSTANCE:2]"); Succès:  Retourne 1.
$clic = ControlClick($hHandle,"", "Button2"); autre solution
ConsoleWrite($clic & @CR)
Il n'y a pas de secret, il faut tester encore et encore :mrgreen:
Ne négligez pas les options
Opt("WinTitleMatchMode", 1) ;1=début, 2=sous-chaîne, 3=exact, 4=avancé, -1 à -4=NOCASE
Opt("WinDetectHiddenText", 0) ;0=ne détecte pas, 1=détecte
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: Mystere avec controlclick

#4

Message par mikell »

Personnellement (si ce qui a été dit avant ne marche pas) plutôt que WinWaitActive j'essaierais WinWait + WinActivate
Des fois que ... :roll:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Répondre