A mensagem WM_SYSKEYUP é lançada para a janela com o foco do teclado quando o usuário libera uma chave que foi pressionada enquanto o alt chave foi pressionada. Ele também ocorre quando nenhuma janela tem o foco do teclado; Neste caso, a mensagem WM_SYSKEYUP é enviada para a janela ativa. A janela que recebe a mensagem pode distinguir entre esses dois contextos verificando o código de contexto na lKeyData parâmetro.
WM_SYSKEYUP nVirtKey = (int) wParam; / / código de chave virtual lKeyData = lParam; / / dados-chave
Valor | Descrição |
---|---|
0 – 15 | Especifica a contagem de repetição para a mensagem atual. O valor é o número de vezes que o pressionamento de tecla é repetida automaticamente como resultado do usuário mantendo pressionada a tecla. A contagem de repetição é sempre um para uma mensagem WM_SYSKEYUP. |
16 — 23 | Especifica a codificar digitalizar. O valor depende do fabricante de equipamento original (OEM). |
24 | Especifica se a chave for uma chave estendida, como o direito alt e ctrl teclas que aparecem em um teclado avançado 101 ou 102-chave. O valor é 1, se for uma chave estendida; caso contrário, será 0. |
25 — 28 | Reservados; não use. |
29 | Especifica o código de contexto. O valor será 1 se a tecla ALT está pressionada enquanto a tecla é liberada; é 0 se a mensagem WM_SYSKEYDOWN é lançada para a janela ativa porque nenhuma janela tem o foco do teclado. |
30 | Especifica o estado da chave anterior. O valor é sempre 1 para uma mensagem WM_SYSKEYUP. |
31 | Especifica o estado de transição. O valor é sempre 1 para uma mensagem WM_SYSKEYUP. |
Um aplicativo deve retornar zero se ele processa esta mensagem.
O DefWindowProc função envia uma WM_SYSCOMMAND mensagem para a janela de alto nível se a chave f10 ou alt chave foi lançado. O wParam parâmetro da mensagem é definido como SC_KEYMENU.
Quando a codificar contexto for zero, a mensagem pode ser passada para a TranslateAccelerator função, que será identificador-la como se fosse uma mensagem de chave normal em vez de um caractere-chave mensagem. Isso permite que teclas de aceleração ser usado com a janela Ativo, mesmo se a janela ativa não tiver o foco do teclado.
Para avançada 101 - e 102-chave teclados, estendidas chaves são o direito alt e ctrl teclas a seção principal do teclado; o ins, del, casa, end, page up, page down e seta chaves nos clusters à esquerda do teclado numérico; e a divisão (/) e digite teclas no teclado numérico. Outros teclados pode suporte o estendido-chave bit na lKeyData parâmetro.
Para fora dos EUA aprimorados 102-chave teclados, a tecla alt direita é tratada como um ctrl + a alt chave. A tabela a seguir mostra a seqüência de mensagens que resultam quando o usuário pressiona e libera essa chave.
Mensagem | Virtual-código de chave |
---|---|
WM_KEYDOWN | VK_CONTROL |
WM_KEYDOWN | VK_MENU |
WM_KEYUP | VK_CONTROL |
WM_SYSKEYUP | VK_MENU |
nbsp; Windows &NT: requer a versão 3.1 ou posterior.
Windows:Requer o Windows 95 ou posterior.
Windows CE:Requer versão 1.0 ou posterior.
Cabeçalho:Declarado em WinUser. h.
Visão geral de entrada do teclado, as mensagens de entrada de teclado, DefWindowProc, TranslateAccelerator, WM_SYSCOMMAND, WM_SYSKEYDOWN