GetKeyNameTextA, fonction (winuser.h)

Récupère une chaîne qui représente le nom d’une clé.

Syntaxe

int GetKeyNameTextA(
  [in]  LONG  lParam,
  [out] LPSTR lpString,
  [in]  int   cchSize
);

Paramètres

[in] lParam

Type : long

Deuxième paramètre du message clavier (tel que WM_KEYDOWN) à traiter. La fonction interprète les positions de bits suivantes dans la lParam.

Bribes Signification
16-23 Code d’analyse. La valeur dépend de l’OEM.
24 Indique si la touche est une touche étendue, telle que la touche Alt de droite et les touches Ctrl qui apparaissent sur un clavier 101 ou 102 touches amélioré. La valeur est 1 s’il s’agit d’une clé étendue ; sinon, c’est 0.
25 « Ne vous souciez pas » du peu. L’application appelant cette fonction définit ce bit pour indiquer que la fonction ne doit pas faire la distinction entre les touches Ctrl gauche et droite et Maj, par exemple.

Pour plus d’informations, consultez indicateurs de message de séquence de touches.

[out] lpString

Type : LPTSTR

Mémoire tampon qui recevra le nom de la clé.

[in] cchSize

Type : int

Longueur maximale, en caractères, du nom de clé, y compris le caractère null de fin. (Ce paramètre doit être égal à la taille de la mémoire tampon pointée par le paramètre lpString.)

Valeur de retour

Type : int

Si la fonction réussit, une chaîne terminée par null est copiée dans la mémoire tampon spécifiée et la valeur de retour est la longueur de la chaîne, en caractères, sans compter le caractère null de fin.

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

Remarques

Le format de la chaîne de nom de clé dépend de la disposition actuelle du clavier.

La disposition du clavier conserve une liste de noms sous la forme de chaînes de caractères pour les touches dont les noms sont plus longs qu’un seul caractère. Le nom de la clé est traduit en fonction du actuellement actifde disposition du clavier. Par conséquent, la fonction peut retourner des résultats différents pour différentes dispositions de clavier .

Le nom d’une clé de caractère est le caractère lui-même. Les noms des clés mortes sont complets.

Touches de caractères mappées au « A ». Les codes de clé virtuelle Z sont traduits en LETTRE MAJUSCULE LATINE <U+0041 A>..<U+005A LATIN MAJUSCULE LETTRE Z> caractères indépendamment de la disposition actuelle du clavier. Dans ce cas, utilisez les méthodes ToUnicode ou ToUnicodeEx pour obtenir le caractère de la touche correspondante.

Cette méthode peut ne pas fonctionner correctement avec certaines dispositions de clavier qui produisent plusieurs caractères (tels que des ligatures) ou des caractères Unicode supplémentaires sur une seule touche.

L’en-tête winuser.h définit GetKeyNameText comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
plateforme cible Windows
d’en-tête winuser.h (include Windows.h)
bibliothèque User32.lib
DLL User32.dll

Voir aussi

d’entrée clavier

dispositions du clavier

Exemples de disposition de clavier

ToUnicode

ToUnicodeEx