[R] Utilisation commande Send

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Freedoom
Niveau 1
Niveau 1
Messages : 9
Enregistré le : sam. 22 nov. 2008 18:59
Status : Hors ligne

[R] Utilisation commande Send

#1

Message par Freedoom »

Bonjour,

J'utilise régulièrement la commande "Send" sans soucis cependant je m'aperçois qu'en utilisant un "GUICtrlCreateInput" elle ne fonctionne pas correctement, je m'explique ;

Code : Tout sélectionner

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>

Opt('MustDeclareVars', 1)

test1()

Func test1()

    Local $msg, $Verifier, $Fichier

    GUICreate("test1",240,250)
    $Fichier = GUICtrlCreateInput("", 20, 155, 195, 20)
    $Verifier = GUICtrlCreateButton (" Vérifier ", 100, 175)

    GUISetState()

    While 1
        $msg = GUIGetMsg()
        Select
            Case $msg = $GUI_EVENT_CLOSE
                ExitLoop
            Case $msg = $Verifier

                Run(@WindowsDir & "\Notepad.exe", "")       ; Ouvre le Bloc note et
                Sleep (4000)                                ; renvoie une valeur fausse
                Send ($Fichier)                             ; ( A commenter pour utiliser MsgBox)

                ; MsgBox(4096, "test1", GUICtrlRead($Fichier))

        EndSelect

    WEnd

EndFunc


; Commenter tout le reste et décommenter en dessous :
;~ $Fichier = InputBox ("", "")
;~ Run(@WindowsDir & "\Notepad.exe", "")
;~ Sleep (4000)
;~ Send ($Fichier)
Le code tel quel me renvoie des valeurs "bidons" alors qu'un simple "MsgBox" ou un "InputBox" me renvoie les bonnes valeurs , je ne vois pas ou est mon erreur ?
Est-ce que je ne peux simplement pas utiliser "Send" dans ces conditions ou bien est-ce une mauvaise manipulation ?

Merci d'avance

Alexandre
Modifié en dernier par Freedoom le mer. 27 janv. 2010 06:28, modifié 3 fois.
jamesst20
Niveau 5
Niveau 5
Messages : 189
Enregistré le : jeu. 05 nov. 2009 00:50
Status : Hors ligne

Re: [..] Utilisation commande Send

#2

Message par jamesst20 »

Salut, Pour obtenir la valeur dans un input on utilise la fonction GuiCtrlRead()

Voici ton code coriger:
► Afficher le texte
Sinon, ton sleep tu pourrait l'effacer comme ca ton script irais beaucoup plus rapide ;)

Sleep = pause mais en milliseconde..

alors Sleep(4000) = Pause 4 seconde ;)

A+
Freedoom
Niveau 1
Niveau 1
Messages : 9
Enregistré le : sam. 22 nov. 2008 18:59
Status : Hors ligne

Re: [..] Utilisation commande Send

#3

Message par Freedoom »

C'est parfait merci beaucoup.

J'ai un autre soucis concernant cette commande "send"

Je souhaiterai simuler un "Alt Gr + 8" avec le 8 du clavier et non du pavé numérique afin d'obtenir un \ , que je ne peux pas obtenir avec un simple Send("\") car le fenetre MS-DOS dans laquelle j'écris ne le prend pas, je voudrais faire comme ca ;
Send ("{RALT down}")
Send ("X") ; avec la touche 8 du clavier
Send ("{RALT up}")
Mais je ne sais pas quoi mettre , quelqu'un aurait une idée ?

Merci d'avance

Alex
Freedoom
Niveau 1
Niveau 1
Messages : 9
Enregistré le : sam. 22 nov. 2008 18:59
Status : Hors ligne

Re: [..] Utilisation commande Send

#4

Message par Freedoom »

Je n'ai trouvé qu'une seule solution qui ne me convient pas étant donné qu'à plusieurs endroits dans mon script j'ai des chemins d'accès à renvoyer ;

Code : Tout sélectionner

Send ("{ALTdown}")
Send("{ASC 092}")
Send ("{ALTup}")
Ca va être très difficile de renvoyer les chemins inscrits dans mes 'InputBox" (C:\xxx\xxx...)

Si quelqu'un connait une solution je suis preneur !

Merci

Alex
Avatar du membre
pop45
Membre émérite
Membre émérite
Messages : 251
Enregistré le : dim. 30 août 2009 16:18
Status : Hors ligne

Re: [..] Utilisation commande Send

#5

Message par pop45 »

Code : Tout sélectionner

send ( "{\}" )
:?: :?: :?: :?: :?: :?: :?:
Cordialement Pop45
Veuillez agrée nos sentiment les plus distinguer, soyez assurer de mon entièr et amical collaboration, bien a vous pour toujours et a jamais dans l'unique but de servir l'espérance de votre satisfaction.
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [..] Utilisation commande Send

#6

Message par matwachich »

ce caractère "\" c'est pas avec seulement Alt Gr+8 qu'on l'obtien mais aussi avec Alt+92
on sait jamais...
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
Freedoom
Niveau 1
Niveau 1
Messages : 9
Enregistré le : sam. 22 nov. 2008 18:59
Status : Hors ligne

Re: [R] Utilisation commande Send

#7

Message par Freedoom »

Merci pour vos réponses , je resterai donc sur cette solution qui utilise le ASCII , équivalent du "Alt+092" :

Code : Tout sélectionner

Send ("{ALTdown}")
Send("{ASC 092}")
Send ("{ALTup}")
A bientot

Alex
Répondre