Partilhar 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 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, chaves 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 chave virtual do valor ASCII O (0x4F) refere-se à tecla "o", enquanto VK_OEM_1 refere-se à tecla "o with umlaut".

Valor de retorno

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á inoperante; caso contrário, ele está em cima.
  • Se o bit de ordem baixa for 1, a chave será alternada. Uma chave, como a tecla CAPS LOCK, será alternada se estiver ativada. A chave estará desativada e desativada se o bit de ordem baixa for 0. 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.

Observações

O status da chave retornado 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 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 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.

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

Consulte também