Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Copia o status das 256 chaves virtuais para o buffer especificado.
Sintaxe
BOOL GetKeyboardState(
[out] PBYTE lpKeyState
);
Parâmetros
[out] lpKeyState
Tipo: PBYTE
A matriz de 256 bytes que recebe os dados de status de cada chave virtual.
Valor de retorno
Tipo: BOOL
Se a função for bem-sucedida, o valor retornado não será zero.
Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.
Observações
Um aplicativo pode chamar essa função para recuperar o status atual de todas as chaves virtuais. O status é alterado conforme um thread remove mensagens de teclado de sua fila de mensagens. O status não é alterado à medida que as mensagens de teclado são postadas na fila de mensagens do thread, nem é alterada à medida que as mensagens de teclado são postadas ou recuperadas de filas de mensagens de outros threads. (Exceção: threads conectados por meio de AttachThreadInput compartilham o mesmo estado do teclado.)
Quando a função retorna, cada membro da matriz apontado pelo parâmetro lpKeyState contém dados de status para uma chave virtual. Se o bit de ordem alta for 1, a chave estará inoperante; caso contrário, ele está em cima. Se a chave for uma tecla de alternância, por exemplo CAPS LOCK, o bit de ordem baixa será 1 quando a chave for alternada e 0 se a chave estiver desativada. O bit de ordem baixa não tem sentido para chaves sem alternância. Diz-se que uma chave de alternância é alternada quando está ativada. A luz indicadora de uma tecla de alternância (se houver) no teclado estará ativada quando a tecla estiver alternada e desativada quando a tecla estiver desativada.
Para recuperar informações de status de uma chave individual, use a função GetKeyState . Para recuperar o estado atual de uma chave individual, independentemente de a mensagem de teclado correspondente ter sido recuperada da fila de mensagens, use a função GetAsyncKeyState .
Um aplicativo pode usar as constantes de código de chave virtual VK_SHIFT, VK_CONTROL e VK_MENU como índices na matriz apontada por lpKeyState. Isso fornece o status das teclas SHIFT, CTRL ou ALT sem distinguir entre a esquerda e a direita. Um aplicativo também pode usar as seguintes constantes de código de chave virtual como índices para distinguir entre as instâncias esquerda e direita dessas chaves:
| VK_LSHIFT |
| VK_RSHIFT |
| VK_LCONTROL |
| VK_RCONTROL |
| VK_LMENU |
| VK_RMENU |
Essas constantes de distinção esquerda e direita estão disponíveis para um aplicativo somente por meio das funções GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState e MapVirtualKey .
Requirements
| Requirement | Value |
|---|---|
| Cliente mínimo suportado | Windows 2000 Professional [somente aplicativos da área de trabalho] |
| Servidor mínimo compatível | Windows 2000 Server [somente aplicativos da área de trabalho] |
| da Plataforma de Destino |
Windows |
| Header | winuser.h (inclua Windows.h) |
| Library | User32.lib |
| de DLL | User32.dll |
| Conjunto de API | ext-ms-win-ntuser-rawinput-l1-1-0 (introduzido no Windows 10, versão 10.0.14393) |