[R] Problème avec la commande Run(Send("^b"))

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Boulanza
Niveau 9
Niveau 9
Messages : 697
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

[R] Problème avec la commande Run(Send("^b"))

#1

Message par Boulanza »

Bonjour,
Je cherche à automatiser « Install Creator Pro ».
J’ai un souci avec le code suivant notamment au niveau de la commande Run(Send("^b")), elle ne fonctionne pas tout le temps.
Connaissez-vous une autre commande et/ou une fonction qui va permettre à ce code de marcher correctement et sans interruption.
Merci pour votre aimable aide.
Cordialement.

Code : Tout sélectionner

#NoTrayIcon
#RequireAdmin
InstallCeator1()
Func InstallCeator1()
$PID6= ProcessExists("icp.exe")
If $PID6 >0 Then ProcessClose($PID6)
Sleep(100)
FileDelete(@scriptdir&"\test\")
Sleep(100)
IF NOT ProcessExists("icp.exe") Then ShellExecute(@ScriptDir&"\test1.iip")
WinWaitActive("Clickteam Install Creator Pro - test1.iip")
Sleep(1000)
Run(Send("^b"));  ^ : remplace CTRL dans une combinaison (exemple : send("^c") fera CTRL+c (copier))
 Sleep(1000)
 send("{enter}")
 Sleep(1000)
 send("{enter}")
 Sleep(1000)
send("{TAB}")
Sleep(1000)
 send("{enter}")
EndFunc
Modifié en dernier par Boulanza le lun. 30 nov. 2015 21:33, modifié 1 fois.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Problème avec la commande Run(Send("^b"))

#2

Message par mikell »

Run(Send("^b")) => Send("^b")
Et tu devrais WinActivate la fenêtre juste avant, en cas de cas
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Boulanza
Niveau 9
Niveau 9
Messages : 697
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

Re: [..] Problème avec la commande Run(Send("^b"))

#3

Message par Boulanza »

Merci pour votre aide.
Oui j'ai testé aussi avec Send("^b") mais là ça ne marche pas du tout, alors j'ai ajouté Run là ça marche une fois sur deux. Je suis vraiment dans l'impasse.

Command Line Options of Install Creator Pro:
/B for build
icp /b path_of_file\your_file.iip
/R for Registration Tool
J'ai pas pu la faire fonctionner sous AutoIt avec _RunDos.
Cordialement.
Boulanza
Niveau 9
Niveau 9
Messages : 697
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

Re: [..] Problème avec la commande Run(Send("^b"))

#4

Message par Boulanza »

Merci infiniment mikell.
J'ai remplacé:
WinWaitActive("Clickteam Install Creator Pro - test1.iip")
Par
WaitActive("Clickteam Install Creator Pro - test1.iip")
Sleep(1000)
Run(Send("^b"))
Et tout est entré dans l'ordre.
Cordialement.
Avatar du membre
ZDS
Membre émérite
Membre émérite
Messages : 554
Enregistré le : jeu. 10 juin 2010 10:35
Localisation : 22300 Cul-d'chouette Langue-de-vache
Status : Hors ligne

Re: [R] Problème avec la commande Run(Send("^b"))

#5

Message par ZDS »

Bonjour Boulanza,

Si c'est rentré dans l'ordre avec un "WinActivate" avant le "Send", essaye donc d'enlever le "Run". Car c'est idiot de le garder, celui-ci essayant d'exécuter la valeur fournie par "Send" comme si c'était le chemin d'un exécutable. Or, "Send" ne renvoie rien (cf [lien]).

Ton Run(Send("^b")) devait avoir un effet un peu placébo si tu dis que ça marche une fois sur deux, parce que autant la commande Run("C:\Windows\Notepad.exe") veut dire quelque chose de sensé, autant Run("") ou Run(0) ne veulent absolument rien dire...

Tiens-moi au courant stp même si ton souci semble résolu, et à bientôt !
► Afficher le texteA tester
ZDS : Chef de projet du nAiO (logiciel AutoIt gratuit sous licence CC 4.0 BY-NC-SA)
Tout problème a une solution, donc si il y a pas d'solution, c'est qu'il y a pas d'problème !
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2511
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [R] Problème avec la commande Run(Send("^b"))

#6

Message par jguinch »

Même si la commande Run(Send("^b")) n'est pas logique, elle doit fonctionner.
EN fait, c'est l'équivalent de ça :

Code : Tout sélectionner

$s = Send("^b")
MsgBox(0, "", $s)
Mais on est bien d'accord, ça ne rime à rien...
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2273
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [R] Problème avec la commande Run(Send("^b"))

#7

Message par jchd »

Pas vraiment. C'est plutôt exactement ça :

Code : Tout sélectionner

Send("^b")
Run("1")
S'ii y a un batch 1.bat ou un exécutable 1.exe dans le répertoire en cours, il prend le contrôle.
Si ce programme de 2 lignes est nommé 1.au3 et si on le compile et qu'on le lance ...
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2511
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [R] Problème avec la commande Run(Send("^b"))

#8

Message par jguinch »

Je sais pas ce que j'ai foutu avec mon MsgBox...
Je voulais dire :

Code : Tout sélectionner

$s = Send("^b")
Run($s)
Ce qui revient à ce que tu as mis JC...
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Problème avec la commande Run(Send("^b"))

#9

Message par mikell »

ze helpfile a écrit :When the documentation states that the return value = none, AutoIt always returns a value to avoid errors. 1 is usually the value returned, but you should not depend on this return value.
Send
Return Value : None.
:mrgreen:
" 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