Compartilhar via


Estrutura KEY_EVENT_RECORD

Descreve um evento de entrada de teclado em um console INPUT_RECORD estrutura.

Sintaxe

typedef struct _KEY_EVENT_RECORD {
  BOOL  bKeyDown;
  WORD  wRepeatCount;
  WORD  wVirtualKeyCode;
  WORD  wVirtualScanCode;
  union {
    WCHAR UnicodeChar;
    CHAR  AsciiChar;
  } uChar;
  DWORD dwControlKeyState;
} KEY_EVENT_RECORD;

Membros

bKeyDown
Se a tecla for pressionada, esse membro será TRUE. Caso contrário, esse membro será FALSE (a chave será liberada).

wRepeatCount
A contagem de repetição, que indica que uma chave está sendo mantida pressionada. Por exemplo, quando uma chave é mantida pressionada, você pode obter cinco eventos com esse membro igual a 1, um evento com esse membro igual a 5 ou vários eventos com esse membro maior ou igual a 1.

wVirtualKeyCode
Um código de chave virtual que identifica a chave fornecida de maneira independente do dispositivo.

wVirtualScanCode
O código de verificação virtual da chave fornecida que representa o valor dependente do dispositivo gerado pelo hardware do teclado.

uChar
Uma união dos membros a seguir.

UnicodeChar
Caractere Unicode traduzido.

AsciiChar
Caractere ASCII traduzido.

dwControlKeyState
O estado das chaves de controle. Esse membro pode ser um ou mais dos valores a seguir.

Valor Significado
CAPSLOCK_ON 0x0080 A luz CAPS LOCK está ativada.
ENHANCED_KEY 0x0100 A chave é aprimorada. Confira as observações.
LEFT_ALT_PRESSED 0x0002 A tecla ALT esquerda é pressionada.
LEFT_CTRL_PRESSED 0x0008 A tecla CTRL esquerda é pressionada.
NUMLOCK_ON 0x0020 A luz NUM LOCK está ativada.
RIGHT_ALT_PRESSED 0x0001 A tecla ALT direita é pressionada.
RIGHT_CTRL_PRESSED 0x0004 A tecla CTRL direita é pressionada.
SCROLLLOCK_ON 0x0040 A luz SCROLL LOCK está ativada.
SHIFT_PRESSED 0x0010 A tecla SHIFT é pressionada.

Observações

As teclas aprimoradas para os teclados IBM® 101 e 102 teclas são as teclas INS, DEL, HOME, END, PAGE UP, PAGE DOWN e direction nos clusters à esquerda do teclado; e as teclas divide (/) e ENTER no teclado.

Os eventos de entrada do teclado são gerados quando qualquer tecla, incluindo teclas de controle, é pressionada ou liberada. No entanto, a tecla ALT quando pressionada e liberada sem combinar com outro caractere, tem um significado especial para o sistema e não é passada para o aplicativo. Além disso, a combinação de teclas CTRL+C não será passada se o identificador de entrada estiver no modo processado (ENABLE_PROCESSED_INPUT).

Exemplos

Para obter um exemplo, consulte Ler eventos de buffer de entrada.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos para desktop]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Cabeçalho WinConTypes.h (via WinCon.h, inclua Windows.h)

Consulte também

PeekConsoleInput

ReadConsoleInput

WriteConsoleInput

INPUT_RECORD