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 (par exemple , WM_KEYDOWN) à traiter. La fonction interprète les positions de bits suivantes dans l’objet lParam.
Bits | Signification |
---|---|
16-23 | Code d’analyse. La valeur dépend de l’OEM. |
24 | Indique si la touche est une touche étendue, telle que les touches ALT et CTRL de droite qui s’affichent sur un clavier amélioré à 101 ou 102 touches. S’il s’agit d’une touche étendue, la valeur est de 1 ; sinon, elle est de 0. |
25 | « Ne vous en souciez pas » bit. 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 frappe.
[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 retournée
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 correspond à 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étaillées sur l’erreur, 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 de la disposition du clavier actuellement active. 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 énoncés dans leur intégralité.
Cette méthode peut ne pas fonctionner correctement avec certaines dispositions de clavier qui produisent plusieurs caractères (c’est-à-dire des ligatures) et/ou des caractères Unicode supplémentaires imprimés sur une seule touche. En outre, les clés qui sont mappées à « A ». Les codes de clé virtuelle Z sont traduits en majuscules « A ». Caractères Z' quelle que soit la disposition actuelle du clavier. Dans ce cas, utilisez les méthodes ToUnicode ou ToUnicodeEx .
L’en-tête winuser.h définit GetKeyNameText comme un 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.
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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour