keybd_event |
user32.dll | Evénément clavier |
---|---|---|
Windows NT 4+, 2000, XP, 2003 |
Syntaxe
Declare Sub keybd_event Lib "user32.dll" ( ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long) |
Paramètres
Nom | Description | ||
---|---|---|---|
bVk | Ce paramètre permet d'indiquer le code de touche virtuel. | ||
bScan | Ce paramètre permet d'indiquer le code de balayage matériel de la touche. | ||
dwFlags | Ce paramètre permet d'indiquer les aspects du contrôle de l'opération : | ||
Constante | Valeur | Description | |
KEYEVENTF_EXTENDEDKEY | &H0001 | Cette valeur permet d'indiquer que le code de balayage est précédé par un octet de préfixe ayant la valeur &HE0 (224) s'il est spécifié. | |
KEYEVENTF_KEYUP | &H0002 | Cette valeur permet d'indiquer que la touche a été relâché. S'il n'est pas spécifié, la touche est désenfoncé. |
Description
Cette fonction permet de provoquer un événement d'appui de touche clavier.
Exemple
Voici un exemple permettant de faire clignoter les lumières du clavier (Caps Lock, Num Lock, Scroll Lock) au nombre de 10 fois chacun leurs tours (aussi connu sous le nom de «Keyboard Dancing LED Light Trick») :
- Option Explicit
-
- Private Const KEYEVENTF_KEYUP = &H2
- Private Const KEYEVENTF_EXTENDEDKEY = &H1
- Private Const VK_SCROLL = &H91
-
- Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
- Private Declare Function MapVirtualKeyA Lib "user32" (ByVal wCode As Long, ByVal wMapType As Long) As Long
- Private Declare Function Sleep Lib "kernel32" (ByVal dwmilliseconds As Long) As Long
-
- Sub Main()
- Dim I, J As Integer
- For J = 0 To 10
- For I = 0 To 2
- Select Case I
- Case 0:
- Call keybd_event(vbKeyCapital, MapVirtualKeyA(vbKeyCapital, 0), KEYEVENTF_EXTENDEDKEY Or 0, 0)
- Call keybd_event(vbKeyCapital, MapVirtualKeyA(vbKeyCapital, 0), KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0)
- Case 1:
- Call keybd_event(vbKeyNumlock, MapVirtualKeyA(vbKeyNumlock, 0), KEYEVENTF_EXTENDEDKEY Or 0, 0)
- Call keybd_event(vbKeyNumlock, MapVirtualKeyA(vbKeyNumlock, 0), KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0)
- Case 2:
- Call keybd_event(VK_SCROLL, MapVirtualKeyA(VK_SCROLL, 0), KEYEVENTF_EXTENDEDKEY Or 0, 0)
- Call keybd_event(VK_SCROLL, MapVirtualKeyA(VK_SCROLL, 0), KEYEVENTF_EXTENDEDKEY Or KEYEVENTF_KEYUP, 0)
- End Select
- Call Sleep(250)
- Next I
- Next J
- End Sub
Dernière mise à jour : Dimanche, le 6 décembre 2015