WM_SYSKEYDOWN

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 

 

Parâmetros

nVirtKey
Valor de wParam. Especifica o código chave virtual da tecla está sendo pressionada.
lKeyData
Valor de lParam. Especifica a contagem de repetição, codificar digitalizar, estendido-chave sinalizador, código de contexto, bandeira de estado chave anterior e bandeira do Estado de transição, conforme mostrado na tabela a seguir.
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.

Retornar valores

Um aplicativo deve retornar zero se ele processa esta mensagem.

Ação padrão

O DefWindowProc função examina a chave determinada e gera uma mensagem WM_SYSCOMMAND se a chave é qualquer guia ou entrar.

Observações

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.

QuickInfo

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.

Ver também

Visão geral de entrada do teclado, as mensagens de entrada de teclado, DefWindowProc, TranslateAccelerator, WM_SYSCOMMAND, WM_SYSKEYUP

Index