WM_UNICHAR message

Le message WM_UNICHAR peut être utilisé par une application pour publier une entrée dans d’autres fenêtres. Ce message contient le code de caractère de la touche qui a été enfoncée. (Testez si une application cible peut traiter WM_UNICHAR messages en envoyant le message avec wParam défini sur UNICODE_NOCHAR.)

#define WM_UNICHAR                      0x0109

Paramètres

wParam

Code caractère de la clé.

Si wParam est UNICODE_NOCHAR et que l’application traite ce message, retournez TRUE. La fonction DefWindowProc retourne FALSE (valeur par défaut).

Si wParam n’est pas UNICODE_NOCHAR, retournez FALSE. Unicode DefWindowProc publie un message WM_CHAR avec les mêmes paramètres et la fonction ANSI DefWindowProc publie un ou deux messages WM_CHAR avec le ou les caractères ANSI correspondants.

lParam

Le nombre de répétitions, le code d’analyse, l’indicateur de clé étendue, le code de contexte, l’indicateur d’état de clé précédent et l’indicateur d’état de transition, comme indiqué dans le tableau suivant.

Bits Signification
0-15 Nombre de répétitions pour le message actuel. La valeur est le nombre de fois où la séquence de touches est répérée automatiquement en raison de la conservation de la touche par l’utilisateur. Si la séquence de touches est maintenue suffisamment longtemps, plusieurs messages sont envoyés. Toutefois, le nombre de répétitions n’est pas cumulatif.
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. La valeur est 1 s’il s’agit d’une clé étendue ; sinon, c’est 0.
25-28 Réservés au; n’utilisez pas.
29 Code de contexte. La valeur est 1 si la touche ALT est maintenue enfoncée pendant que la touche est enfoncée ; sinon, la valeur est 0.
30 État de clé précédent. La valeur est 1 si la clé est en panne avant l’envoi du message, ou elle est 0 si la clé est en place.
31 État de transition. La valeur est 1 si la touche est relâchée, ou elle est 0 si la touche est enfoncée.

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

Valeur retournée

Une application doit retourner zéro si elle traite ce message.

Notes

Le message WM_UNICHAR est similaire à WM_CHAR, mais il utilise le format de transformation Unicode (UTF)-32, tandis que WM_CHAR utilise UTF-16.

Ce message est conçu pour envoyer ou publier des caractères Unicode dans les fenêtres ANSI et peut gérer les caractères de plan supplémentaire Unicode.

Étant donné qu’il n’existe pas nécessairement de correspondance un-à-un entre les touches enfoncées et les messages de caractères générés, les informations dans le mot d’ordre supérieur du paramètre lParam ne sont généralement pas utiles pour les applications. Les informations contenues dans le mot d’ordre supérieur s’appliquent uniquement au message WM_KEYDOWN le plus récent qui précède la publication du message WM_UNICHAR .

Pour les claviers à 101 et 102 touches améliorés, les touches étendues sont les touches ALT droite et CTRL droite sur la section main du clavier ; les touches INS, DEL, HOME, END, PAGE HAUT, PAGE BAS et flèche dans les clusters à gauche du pavé numérique; ainsi que les touches division (/) et ENTRÉE dans le pavé numérique. D’autres claviers peuvent prendre en charge le bit de touche étendue dans le paramètre lParam .

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge
Windows Server 2003 [applications de bureau uniquement]
En-tête
Winuser.h (inclure Windows.h)

Voir aussi