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

Simulé une séquence de touches clavier vers un autre prog... - VB/VBA/VBS - Programmation

Marsh Posté le 06-11-2004 à 10:27:19    

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" pour le valider. Donc je veut simulé cette séquence grace à mon prog...
 
J'ai donc pensée à la commande SendKeys, comme ceci :  
 
SendKeys Chr$(32) & Text1.Text & Chr$(13)
 
Seulement voila, le "Chr$(32)", qui normalement simule la touche espace n'as pas l'air de fonctionné (idem pour "Chr$(13)" )... 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... :)

Reply

Marsh Posté le 06-11-2004 à 10:27:19   

Reply

Marsh Posté le 06-11-2004 à 16:13:52    

J'ai essayer avec un sendinput pour simulé l'envoi d'une touche:

Code :
  1. Private Sub SendKey(bKey As Byte)
  2.     Dim GInput(0 To 1) As GENERALINPUT
  3.     Dim KInput As KEYBDINPUT
  4.    
  5.     KInput.wVk = bKey
  6.     KInput.dwFlags = 0
  7.     KInput.time = 0
  8.     KInput.dwExtraInfo = 0
  9.    
  10.  
  11.     GInput(0).dwType = INPUT_KEYBOARD
  12.     CopyMemory GInput(0).xi(0), KInput, Len(KInput)
  13.    
  14.     KInput.wVk = bKey
  15.     KInput.dwFlags = KEYEVENTF_KEYUP
  16.     KInput.time = 0
  17.     KInput.dwExtraInfo = 0
  18.    
  19.     GInput(1).dwType = INPUT_KEYBOARD
  20.     CopyMemory GInput(1).xi(0), KInput, Len(KInput)
  21.    
  22.     SendInput 2, GInput(0), Len(GInput(0))
  23. End Sub


 
Mais rien y fait, ca ne marche tjr pas... Pourtant quand j'appuie manuelllement sur la barre espace ca fonctionne, le message est transmis (il faut aussi appuyer manuellement sur entrée pour le validé...)
 
J'y comprend plus rien lol

Reply

Marsh Posté le 06-11-2004 à 16:33:05    

SendKeys Chr(32) & Text1.Text & Chr(13)
 

Reply

Marsh Posté le 06-11-2004 à 16:41:26    

Ca ne chnage rien, les deux fonctionnent... ;)

Reply

Marsh Posté le 06-11-2004 à 17:31:52    

Et en faisant comme ça
SendKeys Chr(32)
SendKeys Text1.Text
SendKeys Chr(13)
 

Reply

Marsh Posté le 06-11-2004 à 17:54:34    

ca ne change rien...Je désespere... :/

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed