OVH Cloud OVH Cloud

Simuler le clavier

3 réponses
Avatar
François ROLAND
Comment simuler la frappe de touche au clavier (par exemple les touches
fleches ou caractéres) sans utiliser le clavier

Le but est d'envoyer les code par le port serie. Mais comment les récupérer
en VB

Cordialement


--

François ROLAND
francois.roland@free.fr

3 réponses

Avatar
Jean-Marc
"François ROLAND" a écrit dans le message de
news:
Comment simuler la frappe de touche au clavier (par exemple les touches
fleches ou caractéres) sans utiliser le clavier

Le but est d'envoyer les code par le port serie. Mais comment les


récupérer
en VB




Bonjour,

SendKeys est le traitement approprié. Voici un extrait de la documentation:

SendKeys Statement

Sends one or more keystrokes to the active window as if typed at the
keyboard.

Syntax

SendKeys string[, wait]

The SendKeys statement syntax has these named arguments:

Part Description
string Required. String expression specifying the keystrokes to send.

Wait Optional. Boolean value specifying the wait mode. If False (default),
control is returned to the procedure immediately after the keys are
sent.
If True, keystrokes must be processed before control is
returned to the procedure.

PLus de détails et des exemples directement depuis l'IDE de VB.

Jean-Marc
Avatar
ng
Salut,

On peut aussi utiliser l'API keybd_event() :

Const VK_H = 72
Const VK_E = 69
Const VK_L = 76
Const VK_O = 79
Const KEYEVENTF_EXTENDEDKEY = &H1
Const KEYEVENTF_KEYUP = &H2
Private Declare Sub keybd_event Lib "user32.dll" (ByVal bVk As Byte, ByVal
bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
Private Sub Form_KeyPress(KeyAscii As Integer)
'Print the key on the form
Me.Print Chr$(KeyAscii);
End Sub
Private Sub Form_Paint()
Call Me.Cls
keybd_event VK_H, 0, 0, 0 ' press H
keybd_event VK_H, 0, KEYEVENTF_KEYUP, 0 ' release H
keybd_event VK_E, 0, 0, 0 ' press E
keybd_event VK_E, 0, KEYEVENTF_KEYUP, 0 ' release E
keybd_event VK_L, 0, 0, 0 ' press L
keybd_event VK_L, 0, KEYEVENTF_KEYUP, 0 ' release L
keybd_event VK_L, 0, 0, 0 ' press L
keybd_event VK_L, 0, KEYEVENTF_KEYUP, 0 ' release L
keybd_event VK_O, 0, 0, 0 ' press O
keybd_event VK_O, 0, KEYEVENTF_KEYUP, 0 ' release O
End Sub


--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
http://apisvb.europe.webmatrixhosting.net/



Jean-Marc a écrit :

"François ROLAND" a écrit dans le message de
news:
Comment simuler la frappe de touche au clavier (par exemple les
touches fleches ou caractéres) sans utiliser le clavier

Le but est d'envoyer les code par le port serie. Mais comment les
récupérer en VB




Bonjour,

SendKeys est le traitement approprié. Voici un extrait de la
documentation:

SendKeys Statement

Sends one or more keystrokes to the active window as if typed at the
keyboard.

Syntax

SendKeys string[, wait]

The SendKeys statement syntax has these named arguments:

Part Description
string Required. String expression specifying the keystrokes to
send.

Wait Optional. Boolean value specifying the wait mode. If False
(default), control is returned to the procedure immediately
after the keys are
sent.
If True, keystrokes must be processed before control is
returned to the procedure.

PLus de détails et des exemples directement depuis l'IDE de VB.

Jean-Marc


Avatar
François ROLAND
Merci.
En fait ça ne correspont pas tout a fait à ce que je veux faire. Je
m'explique

Je veux depuis une appli VB simuler l'action sur une touche qui agirait sur
une autre appli (donc la rendre active avant)
Alors est ce possible ???



"Jean-Marc" a écrit dans le message de news:
411f99a0$0$304$
"François ROLAND" a écrit dans le message de
news:
> Comment simuler la frappe de touche au clavier (par exemple les touches
> fleches ou caractéres) sans utiliser le clavier
>
> Le but est d'envoyer les code par le port serie. Mais comment les
récupérer
> en VB
>

Bonjour,

SendKeys est le traitement approprié. Voici un extrait de la


documentation:

SendKeys Statement

Sends one or more keystrokes to the active window as if typed at the
keyboard.

Syntax

SendKeys string[, wait]

The SendKeys statement syntax has these named arguments:

Part Description
string Required. String expression specifying the keystrokes to send.

Wait Optional. Boolean value specifying the wait mode. If False


(default),
control is returned to the procedure immediately after the keys are
sent.
If True, keystrokes must be processed before control is
returned to the procedure.

PLus de détails et des exemples directement depuis l'IDE de VB.

Jean-Marc