problème avec fonction send

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Accessvision
Niveau 3
Niveau 3
Messages : 42
Enregistré le : mar. 11 oct. 2022 16:14
Status : Hors ligne

problème avec fonction send

#1

Message par Accessvision »

Bonjour,
J'ai un script pour installer une extansion d'un logiciel.
Voici le code:

shellexecute("include\webaccess.nvda-addon")
WinWaitActive("Installation de l'extension")
Send("!o")
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
Niveau 6
Messages : 226
Enregistré le : jeu. 16 oct. 2008 16:21
Status : Hors ligne

Re: problème avec fonction send

#2

Message par jpascal »

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
Niveau 3
Messages : 42
Enregistré le : mar. 11 oct. 2022 16:14
Status : Hors ligne

Re: problème avec fonction send

#3

Message par Accessvision »

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
Niveau 6
Messages : 226
Enregistré le : jeu. 16 oct. 2008 16:21
Status : Hors ligne

Re: problème avec fonction send

#4

Message par jpascal »

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
Niveau 3
Messages : 42
Enregistré le : mar. 11 oct. 2022 16:14
Status : Hors ligne

Re: problème avec fonction send

#5

Message par Accessvision »

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
Niveau 3
Messages : 42
Enregistré le : mar. 11 oct. 2022 16:14
Status : Hors ligne

Re: problème avec fonction send

#6

Message par Accessvision »

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
Niveau 6
Messages : 226
Enregistré le : jeu. 16 oct. 2008 16:21
Status : Hors ligne

Re: problème avec fonction send

#7

Message par jpascal »

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
Niveau 3
Messages : 42
Enregistré le : mar. 11 oct. 2022 16:14
Status : Hors ligne

Re: problème avec fonction send

#8

Message par Accessvision »

Voici le code que j'ai écrit:
ControlClick("Installation de l'extension", "Oui", 2)
Et ça ne marche pas non pas
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: problème avec fonction send

#9

Message par walkson »

Bonjour,
Un peu court comme code :wink:

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
Niveau 3
Messages : 42
Enregistré le : mar. 11 oct. 2022 16:14
Status : Hors ligne

Re: problème avec fonction send

#10

Message par Accessvision »

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
Niveau 6
Messages : 226
Enregistré le : jeu. 16 oct. 2008 16:21
Status : Hors ligne

Re: problème avec fonction send

#11

Message par jpascal »

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
Niveau 3
Messages : 42
Enregistré le : mar. 11 oct. 2022 16:14
Status : Hors ligne

Re: problème avec fonction send

#12

Message par Accessvision »

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
Niveau 6
Messages : 226
Enregistré le : jeu. 16 oct. 2008 16:21
Status : Hors ligne

Re: problème avec fonction send

#13

Message par jpascal »

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
Niveau 3
Messages : 42
Enregistré le : mar. 11 oct. 2022 16:14
Status : Hors ligne

Re: problème avec fonction send

#14

Message par Accessvision »

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
Niveau 6
Messages : 226
Enregistré le : jeu. 16 oct. 2008 16:21
Status : Hors ligne

Re: problème avec fonction send

#15

Message par jpascal »

Pouvez-vous poster une capture d'écran d'AU3Info ?
AutoIt 3.3.16.1 - AutoIt3Wrapper 21.316.1639.1
Accessvision
Niveau 3
Niveau 3
Messages : 42
Enregistré le : mar. 11 oct. 2022 16:14
Status : Hors ligne

Re: problème avec fonction send

#16

Message par Accessvision »

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
2022-10-13.png
jpascal
Niveau 6
Niveau 6
Messages : 226
Enregistré le : jeu. 16 oct. 2008 16:21
Status : Hors ligne

Re: problème avec fonction send

#17

Message par jpascal »

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 :
Send('{ALTDOWN}')
Send('o')
Send('{ALTUP}')

A tester également :
Send('{ALTDOWN}')
Send('n')
Send('{ALTUP}')
Send('{ALTDOWN}')
Send('e')
Send('{ALTUP}')
AutoIt 3.3.16.1 - AutoIt3Wrapper 21.316.1639.1
Accessvision
Niveau 3
Niveau 3
Messages : 42
Enregistré le : mar. 11 oct. 2022 16:14
Status : Hors ligne

Re: problème avec fonction send

#18

Message par Accessvision »

Comme d'hab ça ne marche pas, je pense que ce n'est pas possible
Accessvision
Niveau 3
Niveau 3
Messages : 42
Enregistré le : mar. 11 oct. 2022 16:14
Status : Hors ligne

Re: problème avec fonction send

#19

Message par Accessvision »

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
Niveau 6
Messages : 226
Enregistré le : jeu. 16 oct. 2008 16:21
Status : Hors ligne

Re: problème avec fonction send

#20

Message par jpascal »

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
Répondre