Compartilhar via


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

Confira também