Aide et conseils concernant AutoIt et ses outils.
Accessvision
Niveau 3
Messages : 42 Enregistré le : mar. 11 oct. 2022 16:14
Status :
Hors ligne
#1
Message
par Accessvision » mar. 11 oct. 2022 18:50
Bonjour,
J'ai un script pour installer une extansion d'un logiciel.
Voici le code:
C'est le début du script, je n'ai pas écrit la suite.
Mon problème est que la fonction send ne s'active pas, c'est à dire que ma fenêtre d'installation s'ouvre, mais le raccourci ne s'active pas.
Je précise que la fenêtre est une vrai fenêtre qui s'ouvre présentée sous forme de boîte de dialogue.
Quelqu'un a-t-il une idée du problème?
Merci pour votre aide
Bonne soirée.
jpascal
Niveau 6
Messages : 239 Enregistré le : jeu. 16 oct. 2008 16:21
Status :
Hors ligne
#2
Message
par jpascal » mer. 12 oct. 2022 10:39
Peut-être un problème avec le nom de la fenêtre (je vois qu'il y a une apostrophe).
Comment l'avez-vous récupéré ?
AutoIt 3.3.16.1 - AutoIt3Wrapper 21.316.1639.1
Accessvision
Niveau 3
Messages : 42 Enregistré le : mar. 11 oct. 2022 16:14
Status :
Hors ligne
#3
Message
par Accessvision » mer. 12 oct. 2022 10:59
Bonjour,
L'apostrophe est normal, j'ai récupéré le nom de la fenêtre par l'outil d'autoit autoit windowinfo.
Avez-vous une idée?
jpascal
Niveau 6
Messages : 239 Enregistré le : jeu. 16 oct. 2008 16:21
Status :
Hors ligne
#4
Message
par jpascal » mer. 12 oct. 2022 11:09
Si c'est une boîte de dialogue, le raccourci Alt o permet de valider le bouton Ouvrir j'imagine ?
Vous pouvez également utiliser la fonction ControlClick() en spécifiant le nom du contrôle correspondant à ce bouton.
AutoIt 3.3.16.1 - AutoIt3Wrapper 21.316.1639.1
Accessvision
Niveau 3
Messages : 42 Enregistré le : mar. 11 oct. 2022 16:14
Status :
Hors ligne
#5
Message
par Accessvision » mer. 12 oct. 2022 11:22
Le raccourci alt o permet de cliquer sur le bouton oui, mais send ne fonctionne pas à cause que c'est une boite de dialogue?
Je vais essayé avec l'autre fonction.
Accessvision
Niveau 3
Messages : 42 Enregistré le : mar. 11 oct. 2022 16:14
Status :
Hors ligne
#6
Message
par Accessvision » mer. 12 oct. 2022 11:40
Je viens de tester, mais sauf erreur de ma part ça ne marche pas, je préférerai trouver une solution pour send ou autre chose.
Merci pour vos prochaines réponses
jpascal
Niveau 6
Messages : 239 Enregistré le : jeu. 16 oct. 2008 16:21
Status :
Hors ligne
#7
Message
par jpascal » mer. 12 oct. 2022 11:55
Puis-je voir votre code utilisant la fonction ControlClick() ?
Au lieu de faire Send("!o") et s'il y a un autre bouton que Oui, pouvez-vous tester avec Send("{TAB}") et voir si le bouton par défaut change ?
AutoIt 3.3.16.1 - AutoIt3Wrapper 21.316.1639.1
Accessvision
Niveau 3
Messages : 42 Enregistré le : mar. 11 oct. 2022 16:14
Status :
Hors ligne
#8
Message
par Accessvision » mer. 12 oct. 2022 15:45
Voici le code que j'ai écrit:
ControlClick("Installation de l'extension", "Oui", 2)
Et ça ne marche pas non pas
walkson
Modérateur
Messages : 1028 Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status :
Hors ligne
#9
Message
par walkson » mer. 12 oct. 2022 16:21
Bonjour,
Un peu court comme code
Code : Tout sélectionner
Run("calc.exe")
Sleep(2000)
ControlClick("Calculatrice","","Button3")
Sleep(1000)
ControlClick("Calculatrice","","Button21")
Sleep(1000)
ControlClick("Calculatrice","","Button16")
Sleep(1000)
ControlClick("Calculatrice","","Button28")
Sleep(1000)
ProcessClose("calc.exe")
On utilise les ClassnameNN en général et n'hésitez pas à utiliser les sleep() même avec Send()
Et parfois ça ne marche pas..........
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Accessvision
Niveau 3
Messages : 42 Enregistré le : mar. 11 oct. 2022 16:14
Status :
Hors ligne
#10
Message
par Accessvision » mer. 12 oct. 2022 16:31
Bonjour,
J'ai essayé avec ce code:
shellexecute("include\webaccess.nvda-addon")
sleep(3000)
ControlClick("Installation de l'extension","","Button3")
Mais ça ne marche toujours pas même avec send
jpascal
Niveau 6
Messages : 239 Enregistré le : jeu. 16 oct. 2008 16:21
Status :
Hors ligne
#11
Message
par jpascal » mer. 12 oct. 2022 18:03
Je pense vraiment que l'apostrophe pose problème.
Avez-vous copié-collé le titre de la fenêtre à partir de AU3Info ou l'avez-vous tapé ?
Testez ceci :
Opt ( "WinTitleMatchMode" , 1 ) ;1=start, 2=subStr, 3=exact, 4=advanced, -1 to -4=Nocase $sTitle = "Installation de l" shellexecute ( "include\webaccess.nvda-addon" ) WinWait ( $sTitle ) ControlClick ( $sTitle , "" , "Button3" )
AutoIt 3.3.16.1 - AutoIt3Wrapper 21.316.1639.1
Accessvision
Niveau 3
Messages : 42 Enregistré le : mar. 11 oct. 2022 16:14
Status :
Hors ligne
#12
Message
par Accessvision » mer. 12 oct. 2022 18:16
Je vienss d'essayer, mais comme d'habitude, ma fenêtre s'ouvre mais aucune action de raccourci avec controlclick ou send
jpascal
Niveau 6
Messages : 239 Enregistré le : jeu. 16 oct. 2008 16:21
Status :
Hors ligne
#13
Message
par jpascal » mer. 12 oct. 2022 20:07
Avec certains programmes, l'affichage du contenu de la fenêtre peut ne pas être immédiat.
Ajouter Sleep(3000)
avant le ControlClick au cas où.
AutoIt 3.3.16.1 - AutoIt3Wrapper 21.316.1639.1
Accessvision
Niveau 3
Messages : 42 Enregistré le : mar. 11 oct. 2022 16:14
Status :
Hors ligne
#14
Message
par Accessvision » mer. 12 oct. 2022 20:42
J’ai déjà testé, j’avais même mis cinq secondes, mais ça ne marche jamais, est-ce que c’est un problème de ma fenêtre d’installation ?
jpascal
Niveau 6
Messages : 239 Enregistré le : jeu. 16 oct. 2008 16:21
Status :
Hors ligne
#15
Message
par jpascal » mer. 12 oct. 2022 22:18
Pouvez-vous poster une capture d'écran d'AU3Info ?
AutoIt 3.3.16.1 - AutoIt3Wrapper 21.316.1639.1
Accessvision
Niveau 3
Messages : 42 Enregistré le : mar. 11 oct. 2022 16:14
Status :
Hors ligne
#16
Message
par Accessvision » jeu. 13 oct. 2022 08:38
Bonjour,
Voici la capture d'écran.
Étant non voyant, je ne sais pas si elle est bien faite, dites moi si c'est bon.
Fichiers joints
jpascal
Niveau 6
Messages : 239 Enregistré le : jeu. 16 oct. 2008 16:21
Status :
Hors ligne
#17
Message
par jpascal » jeu. 13 oct. 2022 09:42
La fenêtre Windows n'est pas "classique". C'est sûrement pourquoi la fonction ControlClick() ne fonctionne pas.
Essayons à nouveau avec Send().
Avec
WinActivate($sTitle)
la fenêtre est-elle bien activée ?
Si oui, vous pouvez tenter :
A tester également :
AutoIt 3.3.16.1 - AutoIt3Wrapper 21.316.1639.1
Accessvision
Niveau 3
Messages : 42 Enregistré le : mar. 11 oct. 2022 16:14
Status :
Hors ligne
#18
Message
par Accessvision » jeu. 13 oct. 2022 10:16
Comme d'hab ça ne marche pas, je pense que ce n'est pas possible
Accessvision
Niveau 3
Messages : 42 Enregistré le : mar. 11 oct. 2022 16:14
Status :
Hors ligne
#19
Message
par Accessvision » jeu. 13 oct. 2022 10:21
Mais n'y a-t-il pas un sytème de débogage pour dire ce qu'il ne va pas?
Je suis nouveau dans autoit et je ne connais pas ce qu'il propose.
jpascal
Niveau 6
Messages : 239 Enregistré le : jeu. 16 oct. 2008 16:21
Status :
Hors ligne
#20
Message
par jpascal » jeu. 13 oct. 2022 11:17
Pouvez-vous répondre à cette question ?
Avec WinActivate($sTitle) la fenêtre est-elle bien activée ?
AutoIt 3.3.16.1 - AutoIt3Wrapper 21.316.1639.1