A mensagem WM_SYSKEYDOWN é lançada para a janela com o foco do teclado quando o usuário pressiona a tecla F10 (que ativa a barra de menus) ou detém o ALT chave e, em seguida, pressiona outra chave. Ele também ocorre quando nenhuma janela tem o foco do teclado; Neste caso, a mensagem WM_SYSKEYDOWN é 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_SYSKEYDOWN 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. Se o pressionamento de tecla é mantido tempo suficiente, várias mensagens são enviadas. No entanto, a contagem de repetição não é cumulativa. |
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 é pressionada; é 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 será 1 se a chave é para baixo antes que a mensagem é enviada, ou é 0 se a chave é para cima. |
31 | Especifica o estado de transição. O valor é sempre 0 para um WM_SYSKEYDOWN mensagem. |
Um aplicativo deve retornar zero se ele processa esta mensagem.
O DefWindowProc função examina a chave determinada e gera uma mensagem WM_SYSCOMMAND se a chave é qualquer guia ou entrar.
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.
Por causa de repetição automática, mais do que um WM_SYSKEYDOWN mensagem pode ocorrer antes que uma mensagem WM_SYSKEYUP é enviada. O estado da chave anterior (bit 30) pode ser usado para determinar se a mensagem WM_SYSKEYDOWN indica a transição first down ou uma transição repetida para baixo.
Para avançada 101 - e 102-chave teclados, chaves avançadas 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 lParam parâmetro.
Esta mensagem também é enviada sempre que o usuário pressiona o F10 chave sem a tecla ALT.
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_SYSKEYUP