mensaje de WM_SYSKEYUP

Se publicó en la ventana con el foco del teclado cuando el usuario suelta una tecla que se presionó mientras se mantiene presionada la tecla ALT. También se produce cuando no hay ninguna ventana actualmente con el foco del teclado; en este caso, el mensaje WM_SYSKEYUP se envía a la ventana activa. La ventana que recibe el mensaje puede distinguir entre estos dos contextos comprobando el código de contexto en el parámetro lParam .

Una ventana recibe este mensaje a través de la función WindowProc.

#define WM_SYSKEYUP                     0x0105

Parámetros

wParam

Código de clave virtual de la clave que se va a liberar. Consulte Códigos de clave virtual.

lParam

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

Bits Significado
0-15 Recuento 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. El recuento de repeticiones siempre es uno para un mensaje de WM_SYSKEYUP .
16-23 El 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 clave extendida; de lo contrario, es cero.
25-28 Reservados; no use.
29 Código de contexto. El valor es 1 si la clave ALT está inactiva mientras se libera la clave; es cero si el mensaje WM_SYSKEYUP se publica en la ventana activa porque ninguna ventana tiene el foco del teclado.
30 Estado de clave anterior. El valor siempre es 1 para un mensaje de WM_SYSKEYUP .
31 Estado de transición. El valor siempre es 1 para un mensaje de WM_SYSKEYUP .

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.

Observaciones

La función DefWindowProc envía un mensaje WM_SYSCOMMAND a la ventana de nivel superior si se liberó la tecla F10 o la tecla ALT. El parámetro wParam del mensaje se establece en SC_KEYMENU.

Cuando el código de contexto es cero, el mensaje se puede pasar a la función TranslateAccelerator , que lo controlará como si fuera un mensaje de clave normal en lugar de un mensaje de clave de carácter. Esto permite que las teclas de aceleración se usen con la ventana activa incluso si la ventana activa no tiene el foco del teclado.

Para teclados mejorados de 101 y 102 teclas, las teclas extendidas son las teclas ALT y CTRL correctas 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 la división (/) y las teclas ENTRAR en el teclado numérico. Otros teclados pueden admitir el bit de tecla extendida en el parámetro lParam .

Para usuarios que no son de EE. UU. Teclados mejorados de 102 teclas, la tecla ALT derecha se controla como tecla CTRL+ALT. En la tabla siguiente se muestra la secuencia de mensajes resultantes cuando el usuario presiona y suelta esta tecla.

Mensaje Código de clave virtual
WM_KEYDOWN VK_CONTROL
WM_KEYDOWN VK_MENU
WM_KEYUP VK_CONTROL
WM_SYSKEYUP VK_MENU

Requisitos

Requisito Value
Cliente mínimo compatible
Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible
Windows 2000 Server [solo aplicaciones de escritorio]
Encabezado
Winuser.h (incluya Windows.h)

Consulte también