Page 1 sur 1

[R] Utilisation commande Send

Posté : dim. 24 janv. 2010 05:02
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

Re: [..] Utilisation commande Send

Posté : dim. 24 janv. 2010 05:17
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+

Re: [..] Utilisation commande Send

Posté : dim. 24 janv. 2010 05:39
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

Re: [..] Utilisation commande Send

Posté : lun. 25 janv. 2010 16:14
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

Re: [..] Utilisation commande Send

Posté : lun. 25 janv. 2010 18:54
par pop45

Code : Tout sélectionner

send ( "{\}" )
:?: :?: :?: :?: :?: :?: :?:

Re: [..] Utilisation commande Send

Posté : lun. 25 janv. 2010 19:51
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...

Re: [R] Utilisation commande Send

Posté : mer. 27 janv. 2010 06:28
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