Partager via


GetKeyboardState, fonction (winuser.h)

Copie l’état des clés virtuelles 256 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 d’état 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’erreur étendues, appelez GetLastError.

Remarques

Une application peut appeler cette fonction pour récupérer l’état actuel de toutes les clés virtuelles. L’état change en tant que thread supprime les messages clavier de sa file d’attente de messages. L’état ne change pas à mesure que les messages clavier sont publiés dans la file d’attente des messages du thread, ni que 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 est retournée, chaque membre du tableau pointé par le paramètre lpKeyState contient des données d’état pour une clé virtuelle. Si le bit d’ordre élevé est 1, la clé est en panne ; sinon, c’est là. Si la clé est une touche bascule, par exemple LE VERROU CAPS, le bit de bas ordre est 1 lorsque la clé est bascule et est 0 si la clé est désactivée. Le bit de faible ordre est sans signification pour les touches non bascules. Une touche bascule est dite bascule lorsqu’elle est activée. La lumière d’indicateur d’indicateur d’une touche bascule (le cas échéant) sur le clavier est activée lorsque la touche est basculée et désactivée lorsque la touche est déboguée.

Pour récupérer les informations d’état d’une clé individuelle, utilisez la fonction GetKeyState . Pour récupérer l’état actuel d’une clé individuelle, que le message clavier correspondant ait é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’état des touches Maj, Ctrl ou Alt sans distinguer les touches gauche et droite. Une application peut également utiliser les constantes de code de clé virtuelle suivantes en tant qu’index pour faire la distinction entre les instances gauche et droite de ces clés :

VK_LSHIFT
VK_RSHIFT
VK_LCONTROL
VK_RCONTROL
VK_LMENU
VK_RMENU
 

Ces constantes de gauche et de droite sont disponibles pour une application uniquement via les fonctions GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState et MapVirtualKey.

Spécifications

Requirement Valeur
Client minimum requis Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
plateforme cible Fenêtres
Header winuser.h (include Windows.h)
Library 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