Page 1 sur 1

[R] Coder des arguments de ligne de commande dos en AutoIt

Posté : jeu. 31 janv. 2019 23:26
par Boulanza
Bonjour,
Votre aide svp.
Comment puis-je passer des arguments de ligne de commande qui marche parfaitement Sous dos :
C:\> "C:\AutoCamo\AutoCamo\AWC.exe" "C:\testMP.au3"
en utilisant RunWait. J’ai essayé le code suivant mais ça ne donne rien :
#include <MsgBoxConstants.au3>
 Local $program1 = "C:\AutoCamo\AutoCamo\AWC.exe"
 Local $fileAu3 = "C:\test.au3"
 RunWait($program1 & $fileAu3, "","")
Merci d’avance pour votre aide.
Cordialement.

Re: [..] Coder des arguments de ligne de commande dos en AutoIt

Posté : ven. 01 févr. 2019 09:47
par Boulanza
Bonjour,
Je suis arrivé à coder la première partie du code dos en AutoIt soit: "C:\AutoCamo\AutoCamo\AWC.exe"
Comme suit:
;Wait for CMD to be opened
WinWaitActive("Administrator: C:\Windows\system32\cmd.exe", "", 1)
;Send('C:' & "{ENTER}")
Send('cd AutoCamo\AutoCamo' & "{ENTER}")
Send('start AWC.exe' & "{ENTER}")
Mais je n'ai pas su ajouter la deuxième partie du code soit: "C:\testMP.au3"
Pouvez-vous m'aider à compléter ce code en utilisant Send. Merci pour votre collaboration.
Cordialement.

Re: [..] Coder des arguments de ligne de commande dos en AutoIt

Posté : ven. 01 févr. 2019 12:23
par TommyDDR
#include <MsgBoxConstants.au3>
Local $program1 = "C:\AutoCamo\AutoCamo\AWC.exe"
Local $fileAu3 = "C:\test.au3"
RunWait($program1 & $fileAu3, "","")
Lorsque vous effectuez un run / runwait, il est FORTEMENT conseillé (surtout quand ça ne marche pas) de mettre toute votre ligne dans une seule variable et de l'afficher !

Essayez ça et vous verrez tout de suite d'où vient le problème :
#include <MsgBoxConstants.au3>
Local $program1 = "C:\AutoCamo\AutoCamo\AWC.exe"
Local $fileAu3 = "C:\test.au3"
Local $commande = $program1 & $fileAu3
ConsoleWrite($commande & @CRLF)
RunWait($commande, "","")

Re: [..] Coder des arguments de ligne de commande dos en AutoIt

Posté : ven. 01 févr. 2019 13:13
par Boulanza
Bonjour TommyDDR
Merci pour votre conseil.
Une toute petite modification &" "& voir code:
#include <MsgBoxConstants.au3>
Local $program1 = "C:\AutoCamo\AutoCamo\AWC.exe"
Local $fileAu3 = "C:\test.au3"
Local $commande = $program1 &" "& $fileAu3
ConsoleWrite($commande & @CRLF)
RunWait($commande, "","")
Aucune réaction. Pouvez-vous m'aider à compléter ce code en utilisant Send voir réponse 2 ci-dessus. Merci
Cordialement.

Re: [..] Coder des arguments de ligne de commande dos en AutoIt

Posté : ven. 01 févr. 2019 20:43
par Boulanza
Bonsoir,
la solution :code en Dos codé en AutoIt
Run("cmd.exe")
WinWaitActive("Administrator: C:\Windows\system32\cmd.exe", "", 1)
Send('start AWC.exe'&" "& 'test.au3'&"{ENTER}")
Cordialement.

Re: [..] Coder des arguments de ligne de commande dos en AutoIt

Posté : ven. 01 févr. 2019 23:36
par TommyDDR
Faire un Send n'est pas très propre en soi.
Je n'ai malheureusement pas awc.exe, mais dites vous que "run" correspond globalement à ce que vous écrivez dans la console.
Si vous pouvez ouvrir une console n'importe où et taper "awc.exe 'test.au3'" et que cela fonctionne, alors :

Code : Tout sélectionner

Run("awc.exe 'test.au3'")
devrait aussi fonctionner.

Pouvez-vous ouvrir une console, taper votre ligne de commande à la main (essayez sans le "start" si possible) valider la commande et si cela fonctionne, faire une impression écran ?

Re: [..] Coder des arguments de ligne de commande dos en AutoIt

Posté : sam. 02 févr. 2019 10:12
par Boulanza
Bonjour,
Oui, pour un cas hors A3C (autocamo) ça marche très bien. Mais dans le cas de A3C est basé sur le dos, c'est pour cela que les commandes en ligne de A3C ne fonctionne sous DOS. Je suis sûr que Autoit peut le faire, mais je n'ai pas suffisamment de l’expérience et le contrôle des fonctions AutoIt. Votre aide serait bien utile. Voici le lien de téléchargement de A3C :
https://www.autoitscript.com/forum/topi ... amo-9716b/
Cordialement.

Re: [..] Coder des arguments de ligne de commande dos en AutoIt

Posté : sam. 02 févr. 2019 17:01
par TommyDDR
Désolé de vous le dire mais Run("awc.exe 'test.au3'") fonctionne très bien chez moi.
Pouvez-vous me dire :
- où se situe awc.exe ?
- ce dossier est-il dans votre PATH windows ?
- d'où lancez-vous votre script ?
- où se situe "test.au3" ?

Re: [..] Coder des arguments de ligne de commande dos en AutoIt

Posté : sam. 02 févr. 2019 17:33
par Boulanza
Bonjour,
Merci pour votre remarque, j'ai ajouté une petite correction (&" "&) et ça à marcher Run("AWC.exe"&" "&"test.au3")
. Je doit ajouter la commande Send("^g") pour compiler A3C, svp, comment l'intégré avec Run ?
Sous Dos : WinWaitActive("Administrator: C:\Windows\system32\cmd.exe", "", 1)
Send("^g")

Cordialement.

Re: [..] Coder des arguments de ligne de commande dos en AutoIt

Posté : sam. 02 févr. 2019 17:45
par Boulanza
J'ai en fin pu compiler avec A3C , voici le code :
Run("AWC.exe"&" "&"test.au3")
Sleep(4000)
Send("{CTRLDOWN}^g{CTRLUP}")
Pouvez-vous optimiser au mieux.

Re: [..] Coder des arguments de ligne de commande dos en AutoIt

Posté : dim. 03 févr. 2019 00:29
par TommyDDR
Pourquoi mettre & " " & ? cela sert juste à concaténer les chaines de caractères quand vous devez y insérer des variables.

Code : Tout sélectionner

Run("AWC.exe test.au3")
Sleep(4000)
Send("{CTRLDOWN}^g{CTRLUP}")
Cela devrait suffir.

Re: [..] Coder des arguments de ligne de commande dos en AutoIt

Posté : dim. 03 févr. 2019 08:10
par Boulanza
Bonjour TommyDDR,
Je vous remercie pour votre aide et votre coopération.
Cordialement.

Re: [R] Coder des arguments de ligne de commande dos en AutoIt

Posté : dim. 03 févr. 2019 12:47
par TommyDDR
De rien ! :)

Re: [R] Coder des arguments de ligne de commande dos en AutoIt

Posté : lun. 04 févr. 2019 09:41
par Boulanza
Bonsoir TommyDDR?
Je vous confirme que A3C + Private exe Protector 5.0.3.1.f ensemble protègent les applications réalisés avec AutoIt contre "reverse engineering with anti-cracking & anti-debugging techniques".
Cordialement.

Re: [R] Coder des arguments de ligne de commande dos en AutoIt

Posté : lun. 04 févr. 2019 12:24
par TommyDDR
Vous savez, il existe de multitude d'outils vous affirmant cela, mais en général quelqu'un qui voudra vraiment votre programme y arrivera ;)
Mais cela n'était pas la question du sujet, nous parlions bien d'envoyer des arguments à un quelconque exécutable (je dis ça pour pas qu'on me MP avec comme raison "je veux protéger mes exécutables" :) )

Re: [R] Coder des arguments de ligne de commande dos en AutoIt

Posté : lun. 04 févr. 2019 16:47
par Boulanza
Bonjour,
Absolument et sans doute, vous avez-raison à 100 %, c'est aussi la conclusion de Tlem sur le sujet de la protections des applications réalisées par AutoIt.
Cordialement.