Função GetKeyState (winuser.h)
Recupera o status da chave virtual especificada. O status especifica se a tecla está para cima, para baixo ou alternada (ativada, desativada— alternando sempre que a tecla é pressionada).
Sintaxe
SHORT GetKeyState(
[in] int nVirtKey
);
Parâmetros
[in] nVirtKey
Tipo: int
Uma chave virtual. Se a chave virtual desejada for uma letra ou dígito (A a Z, a a z ou 0 a 9), nVirtKey deverá ser definido como o valor ASCII desse caractere. Para outras chaves, deve ser um código de chave virtual.
Se um layout de teclado não inglês for usado, as teclas virtuais com valores no intervalo ASCII A a Z e 0 a 9 serão usadas para especificar a maioria das teclas de caractere. Por exemplo, para o layout do teclado alemão, a tecla virtual do valor ASCII O (0x4F) refere-se à tecla "o", enquanto VK_OEM_1 se refere à tecla "o with umlaut".
Valor retornado
Tipo: SHORT
O valor retornado especifica o status da chave virtual especificada, da seguinte maneira:
- Se o bit de ordem alta for 1, a chave estará inativa; caso contrário, ele está em cima.
- Se o bit de ordem inferior for 1, a chave será alternada. Uma tecla, como a tecla CAPS LOCK, será alternada se estiver ativada. A chave será desativada e desativada se o bit de ordem inferior for 0. A luz indicadora de uma tecla de alternância (se houver) no teclado estará ativada quando a tecla for alternada e desativada quando a tecla estiver destoativada.
Comentários
A chave status retornada dessa função muda à medida que um thread lê as principais mensagens de sua fila de mensagens. O status não reflete o estado de nível de interrupção associado ao hardware. Use a função GetAsyncKeyState para recuperar essas informações.
Um aplicativo chama GetKeyState em resposta a uma mensagem de entrada de teclado. Essa função recupera o estado da chave quando a mensagem de entrada foi gerada.
Para recuperar informações de estado para todas as chaves virtuais, use a função GetKeyboardState .
Um aplicativo pode usar as constantes de código de chave virtualVK_SHIFT, VK_CONTROL e VK_MENU como valores para o parâmetro nVirtKey . Isso fornece a status das teclas SHIFT, CTRL ou ALT sem distinguir entre esquerda e direita. Um aplicativo também pode usar as seguintes constantes de código de chave virtual como valores para nVirtKey para distinguir entre as instâncias esquerda e direita dessas chaves:
VK_LSHIFTVK_RSHIFTVK_LCONTROLVK_RCONTROLVK_LMENUVK_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 .
Exemplos
Para obter um exemplo, consulte Exibindo entrada de teclado.
Requisitos
Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | winuser.h (inclua Windows.h) |
Biblioteca | User32.lib |
DLL | User32.dll |