Estrutura KEY_EVENT_RECORD
Descreve um evento de entrada de teclado em uma estrutura INPUT_RECORD do console.
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 tecla foi liberada).
wRepeatCount
A contagem de repetição, que indica que uma tecla está sendo pressionada Por exemplo, quando uma tecla é 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 tecla virtual que identifica a tecla fornecida de maneira independente do dispositivo.
wVirtualScanCode
O código de verificação virtual da tecla fornecida que representa o valor dependente do dispositivo gerado pelo hardware do teclado.
uChar
Uma união dos seguintes membros.
UnicodeChar
Caractere Unicode traduzido.
AsciiChar
Caractere ASCII traduzido.
dwControlKeyState
O estado das teclas de controle. Esse membro pode ser um ou mais dos valores a seguir:
Valor | Significado |
---|---|
CAPSLOCK_ON 0x0080 | A luz do CAPS LOCK está acesa. |
ENHANCED_KEY 0x0100 | A tecla é aprimorada. Consulte os comentários. |
LEFT_ALT_PRESSED 0x0002 | A tecla ALT esquerda está pressionada. |
LEFT_CTRL_PRESSED 0x0008 | A tecla CTRL esquerda está pressionada. |
NUMLOCK_ON 0x0020 | A luz do NUM LOCK está acesa. |
RIGHT_ALT_PRESSED 0x0001 | A tecla ALT direita está pressionada. |
RIGHT_CTRL_PRESSED 0x0004 | A tecla CTRL direita está pressionada. |
SCROLLLOCK_ON 0x0040 | A luz do SCROLL LOCK está acesa. |
SHIFT_PRESSED 0x0010 | A tecla SHIFT está pressionada. |
Comentários
As teclas aprimoradas para os teclados IBM® de 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 uma tecla é pressionada ou liberada, incluindo teclas de controle. No entanto, a tecla ALT pressionada e liberada sem nenhuma combinação 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 é passada se o identificador de entrada está no modo processado (ENABLE_PROCESSED_INPUT).
Exemplos
Para obter um exemplo, confira Como ler eventos de buffer de entrada.
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] |
Cabeçalho | WinConTypes.h (via WinCon.h, inclui o Windows.h) |