GetKeyboardState, fonction (winuser.h)

Copie l’état des 256 clés virtuelles dans la mémoire tampon spécifiée.

Syntaxe

BOOL GetKeyboardState(
  [out] PBYTE lpKeyState
);

Paramètres

[out] lpKeyState

Type : PBYTE

Tableau de 256 octets qui reçoit les données status pour chaque clé virtuelle.

Valeur retournée

Type : BOOL

Si la fonction réussit, la valeur de retour est différente de zéro.

Si la fonction échoue, la valeur de retour est égale à zéro. Pour obtenir des informations détaillées sur l’erreur, appelez GetLastError.

Remarques

Une application peut appeler cette fonction pour récupérer la status actuelle de toutes les clés virtuelles. Le status change en tant que thread supprime les messages clavier de sa file d’attente de messages. Le status ne change pas à mesure que les messages clavier sont publiés dans la file d’attente de messages du thread, ni lorsque les messages clavier sont publiés ou récupérés à partir de files d’attente de messages d’autres threads. (Exception : les threads connectés via AttachThreadInput partagent le même état du clavier.)

Lorsque la fonction retourne, chaque membre du tableau désigné par le paramètre lpKeyState contient status données pour une clé virtuelle. Si le bit d’ordre élevé est 1, la clé est arrêtée ; sinon, il est en place. Si la clé est une clé bascule, par exemple CAPS LOCK, le bit d’ordre inférieur est 1 lorsque la clé est activée et est 0 si la clé est désactivée. Le bit d’ordre inférieur n’a aucun sens pour les touches non bascules. Une touche bascule est dite activée lorsqu’elle est activée. Le voyant d’indicateur d’une touche bascule (le cas échéant) sur le clavier est activé lorsque la touche est activée et désactivée lorsque la touche est désactivée.

Pour récupérer status informations pour une clé individuelle, utilisez la fonction GetKeyState. Pour récupérer l’état actuel d’une clé individuelle, que le message clavier correspondant ait ou non été récupéré à partir de la file d’attente de messages, utilisez la fonction GetAsyncKeyState .

Une application peut utiliser les constantes de code de clé virtuelle VK_SHIFT, VK_CONTROL et VK_MENU en tant qu’index dans le tableau pointé par lpKeyState. Cela donne l’status des touches Maj, Ctrl ou Alt sans faire la distinction entre la gauche et la droite. Une application peut également utiliser les constantes de code de clé virtuelle suivantes comme index pour faire la distinction entre les instances de gauche et de droite de ces clés :

VK_LSHIFT
VK_RSHIFT
VK_LCONTROL
VK_RCONTROL
VK_LMENU
VK_RMENU
 

Ces constantes qui distinguent la gauche et la droite sont disponibles pour une application uniquement par le biais des fonctions GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState et MapVirtualKey .

Configuration requise

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête winuser.h (inclure Windows.h)
Bibliothèque User32.lib
DLL User32.dll
Ensemble d’API ext-ms-win-ntuser-rawinput-l1-1-0 (introduit dans Windows 10, version 10.0.14393)

Voir aussi