Simulé une séquence de touches clavier vers un autre prog...

tomatokatchup Messages postés 20 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 7 décembre 2004 - 4 nov. 2004 à 23:48
tomatokatchup Messages postés 20 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 7 décembre 2004 - 5 nov. 2004 à 13:36
Bonjour à tous.

Je souhaiterai envoyé des messages prédefini vers un autre programme (le chat d'un jeu...). Normalement, pour laissé un message dans ce chat, il faut appuer sur "espace", taper le message, et appuyer sur "entrée". Donc je veut simulé cette séquence grace à mon prog...

J'ai donc pensée à la commande SendKeys, comme ceci :

SendKeys "{bs}" & Text1.Text & "{enter}"

Seulement voila, le "{bs}", qui normalement simule la touche espace n'as pas l'air de fonctionné (idem pour {enter})... Seul le message a l'air d'etre transmis.

Existe il une autre solution? J'ai entendu parlé de l'API SendInput, mais je ne comprend pas bien comment l'utilisé...

Une ame charitable serait elle prete à me sortir de ce mauvais pas? ;)

Je l'en remercie d'avance... :)

~Tom

6 réponses

thierrydelepine Messages postés 521 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 11 septembre 2008 6
5 nov. 2004 à 00:48
je ne connaissait pas en VB : "{bs}" et "{enter}"

j'aurai plutot mis :

SendKeys Chr$(27) & Text1.Text & Chr$(13)
0
tomatokatchup Messages postés 20 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 7 décembre 2004
5 nov. 2004 à 09:18
Merci de ta réponse, mais ca ne change rien. La barre espace n'est tjr pas simulé, tout comme la touche enter.... :(
0
tomatokatchup Messages postés 20 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 7 décembre 2004
5 nov. 2004 à 09:46
En fait j'ai l'impression que la fonction "Sendkeys" ne marche pas avec les touches espaces et enter. Car quand j'appuie manuellement sur la barre espace, mon message est envoyé.

Peut etre parce que ces deux touches sont utilisés par l'application?

~Tom
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
5 nov. 2004 à 09:59
Attention !! {BS} ne simule pas un appui sur la barre espace mais sur la touche BackSpace (Retour Arrière) !!!! Pour simuler un appui sur la barre d'espace, il faut envoyer ... un espace tout connement !!!
Poiur ton cas, cela donnera un truc du genre :

Sendkeys " " & text1.text & "~"

Le "~" est "quivalent à "{ENTER}"

Sinon en règle général le sendkeys marche plutot bien !!!

Christophe R.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
thierrydelepine Messages postés 521 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 11 septembre 2008 6
5 nov. 2004 à 10:15
je ne connnaissait pas non plus le "~"

merci Christophe R je me coucherai moins con ce soir
0
tomatokatchup Messages postés 20 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 7 décembre 2004
5 nov. 2004 à 13:36
Merci mais ca ne fonctionne tjr pas... Il faut que j'appuie manuellemnt sur la barre espace pour que le message soit transmis.

Je vous file mon code au cas ou :

Private Sub Timer1_Timer()

If Command1.Caption <> "Démarrer" Then
    For a = 0 To 256
    If GetAsyncKeyState(a) <> 0 Then
        Select Case a
            Case 112: SendKeys " " & Text1.Text & "~"
            Case 113: SendKeys " " & Text2.Text & "~"
            Case 114: SendKeys " " & Text3.Text & "~"
            Case 115: SendKeys " " & Text4.Text & "~"
            Case 116: SendKeys " " & Text5.Text & "~"
        End Select
    End If
    Next
End If
End Sub
0
Rejoignez-nous