Partager via


GetKeyState, fonction (winuser.h)

Récupère l'état de la clé virtuelle spécifiée. La status spécifie si la touche est haut, bas ou basculée (activée, désactivée, en alternance chaque fois que la touche est enfoncée).

Syntaxe

SHORT GetKeyState(
  [in] int nVirtKey
);

Paramètres

[in] nVirtKey

Type : int

Clé virtuelle. Si la clé virtuelle souhaitée est une lettre ou un chiffre (A à Z, a à z ou 0 à 9), nVirtKey doit être défini sur la valeur ASCII de ce caractère. Pour les autres clés, il doit s’agir d’un code de clé virtuelle.

Si une disposition de clavier non anglaise est utilisée, les touches virtuelles avec des valeurs comprises dans la plage ASCII A à Z et 0 à 9 sont utilisées pour spécifier la plupart des touches de caractères. Par exemple, pour la disposition du clavier allemand, la touche virtuelle de valeur ASCII O (0x4F) fait référence à la touche « o », tandis que VK_OEM_1 fait référence à la touche « o with umlaut ».

Valeur retournée

Type : SHORT

La valeur de retour spécifie le status de la clé virtuelle spécifiée, comme suit :

  • Si le bit d’ordre élevé est 1, la clé est arrêtée ; sinon, il est en place.
  • Si le bit d’ordre inférieur est 1, la clé est activée. Une clé, telle que la touche VERR. MAJ, est activée si elle est activée. La clé est désactivée et désactivée si le bit d’ordre inférieur est 0. 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.

Remarques

La clé status retournée par cette fonction change à mesure qu’un thread lit les messages clés de sa file d’attente de messages. Le status ne reflète pas l’état au niveau de l’interruption associé au matériel. Utilisez la fonction GetAsyncKeyState pour récupérer ces informations.

Une application appelle GetKeyState en réponse à un message d’entrée au clavier. Cette fonction récupère l’état de la clé lorsque le message d’entrée a été généré.

Pour récupérer des informations d’état pour toutes les clés virtuelles, utilisez la fonction GetKeyboardState .

Une application peut utiliser les constantes de code de clé virtuelleVK_SHIFT, VK_CONTROL et VK_MENU comme valeurs pour le paramètre nVirtKey . 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 valeurs pour nVirtKey afin de faire la distinction entre les instances de gauche et de droite de ces clés :

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

Exemples

Pour obtenir un exemple, consultez Affichage d’une entrée clavier.

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

Voir aussi