keybd_event |
user32.dll | Evénément clavier |
---|---|---|
Syntaxe
VOID keybd_event(BYTE bVk, BYTE bScan, DWORD dwFlags, DWORD dwExtraInfo); |
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 | 0x0001 | Cette valeur permet d'indiquer que le code de balayage est précédé par un octet de préfixe ayant la valeur 0xE0 (224) s'il est spécifié. | |
KEYEVENTF_KEYUP | 0x0002 | 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») :
- #include <windows.h>
- #include <stdio.h>
- #include <stdlib.h>
-
- #define KEYEVENTF_KEYUP 0x02
- #define KEYEVENTF_EXTENDEDKEY 0x01
- #define VK_SCROLL 0x91
- #define vbKeyCapital 20
- #define vbKeyNumLock 144
-
- int main()
- {
- int I,J;
- for(J = 0; J <= 10; J++) {
- for(I = 0; I <= 2; I++) {
- switch(I) {
- case 0:
- keybd_event(vbKeyCapital, MapVirtualKeyA(vbKeyCapital, 0), KEYEVENTF_EXTENDEDKEY | 0, 0);
- keybd_event(vbKeyCapital, MapVirtualKeyA(vbKeyCapital, 0), KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);
- break;
- case 1:
- keybd_event(vbKeyNumLock, MapVirtualKeyA(vbKeyNumLock, 0), KEYEVENTF_EXTENDEDKEY | 0, 0);
- keybd_event(vbKeyNumLock, MapVirtualKeyA(vbKeyNumLock, 0), KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);
- break;
- case 2:
- keybd_event(VK_SCROLL, MapVirtualKeyA(VK_SCROLL, 0), KEYEVENTF_EXTENDEDKEY | 0, 0);
- keybd_event(VK_SCROLL, MapVirtualKeyA(VK_SCROLL, 0), KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);
- break;
- }
- Sleep(250);
- }
- }
- return 0;
- }
Dernière mise à jour : Dimanche, le 6 décembre 2015