Compartir a través de


mensaje de WM_UNICHAR

Una aplicación puede usar el mensaje WM_UNICHAR para publicar entradas en otras ventanas. Este mensaje contiene el código de carácter de la tecla que se presionó. (Pruebe si una aplicación de destino puede procesar WM_UNICHAR mensajes enviando el mensaje con wParam establecido en UNICODE_NOCHAR).

#define WM_UNICHAR                      0x0109

Parámetros

wParam

Código de carácter de la clave.

Si wParam está UNICODE_NOCHAR y la aplicación procesa este mensaje, devuelve TRUE. La función DefWindowProc devolverá FALSE (valor predeterminado).

Si wParam no está UNICODE_NOCHAR, devuelva FALSE. El DefWindowProc Unicode publica un mensaje de WM_CHAR con los mismos parámetros y la función ANSI DefWindowProc publica uno o dos mensajes WM_CHAR con los caracteres ANSI correspondientes.

lParam

El recuento de repeticiones, el código de examen, la marca de clave extendida, el código de contexto, la marca de estado de clave anterior y la marca de estado de transición, como se muestra en la tabla siguiente.

Bits Significado
0-15 Número de repeticiones para el mensaje actual. El valor es el número de veces que se repite la pulsación de tecla como resultado de que el usuario mantenga presionada la tecla. Si la tecla se mantiene presionada durante un tiempo suficiente, se envían varios mensajes. Sin embargo, el recuento de repeticiones no es acumulativo.
16-23 Código de examen. El valor depende del OEM.
24 Indica si la tecla es una tecla extendida, como las teclas ALT y CTRL de la derecha que aparecen en un teclado mejorado de 101 o 102 teclas. El valor es 1 si es una tecla extendida; de lo contrario, es 0.
25-28 Reservados; no use.
29 Código de contexto. El valor es 1 si la tecla ALT se mantiene presionada mientras se presiona la tecla; de lo contrario, el valor es 0.
30 Estado de clave anterior. El valor es 1 si la tecla está presionada antes de que se envíe el mensaje, o es 0 si la tecla no está presionada.
31 Estado de transición. El valor es 1 si se está liberando la tecla, o 0 si se está presionando la tecla.

Para obtener más información, consulte Marcas de mensaje de pulsación de teclas.

Valor devuelto

Una aplicación debe devolver cero si procesa este mensaje.

Comentarios

El mensaje de WM_UNICHAR es similar a WM_CHAR, pero usa el formato de transformación Unicode (UTF)-32, mientras que WM_CHAR usa UTF-16.

Este mensaje está diseñado para enviar o publicar caracteres Unicode en ventanas ANSI y puede controlar caracteres de plano complementario Unicode.

Dado que no hay necesariamente una correspondencia uno a uno entre las teclas presionadas y los mensajes de caracteres generados, la información de la palabra de orden superior del parámetro lParam generalmente no es útil para las aplicaciones. La información de la palabra de orden superior solo se aplica al mensaje de WM_KEYDOWN más reciente que precede a la publicación del mensaje de WM_UNICHAR .

Para teclados mejorados de 101 y 102 teclas, las teclas extendidas son la alt derecha y las teclas CTRL derechas en la sección principal del teclado; las teclas INS, DEL, HOME, END, PAGE UP, PAGE DOWN y arrow en los clústeres a la izquierda del teclado numérico; y las teclas dividir (/) y ENTRAR en el teclado numérico. Algunos otros teclados pueden admitir el bit de tecla extendida en el parámetro lParam .

Requisitos

Requisito Value
Cliente mínimo compatible
Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows Server 2003 [solo aplicaciones de escritorio]
Encabezado
Winuser.h (incluye Windows.h)

Consulte también