KEY_EVENT_RECORD 構造体
コンソール のINPUT_RECORD 構造でのキーボード入力イベントについて説明します。
構文
typedef struct _KEY_EVENT_RECORD {
BOOL bKeyDown;
WORD wRepeatCount;
WORD wVirtualKeyCode;
WORD wVirtualScanCode;
union {
WCHAR UnicodeChar;
CHAR AsciiChar;
} uChar;
DWORD dwControlKeyState;
} KEY_EVENT_RECORD;
メンバー
bKeyDown
キーが押された場合、このメンバーは TRUE になります。 それ以外の場合、このメンバーは FALSE になります (キーが解放されます)。
wRepeatCount
繰り返し回数。キーが押されていることを示します。 たとえば、キーが押されている場合、このメンバーが 1、このメンバーが 5 のイベント、またはこのメンバーが 1 以上の複数のイベントを含む 5 つのイベントを取得できます。
wVirtualKeyCode
デバイスに依存しない方法で特定のキーを識別する仮想キー コード。
wVirtualScanCode
キーボード ハードウェアによって生成されるデバイス依存値を表す、指定されたキーの仮想スキャン コード。
uChar
次のメンバーの和集合。
UnicodeChar
変換された Unicode 文字。
AsciiChar
変換された ASCII 文字。
dwControlKeyState
Ctrl キーの状態。 このメンバーは、次の値の 1 つ以上のいずれかです。
Value | 意味 |
---|---|
CAPSLOCK_ON 0x0080 | CapsLock ライトがオンです。 |
ENHANCED_KEY 0x0100 | キーが強化されています。 「注釈」を参照してください。 |
LEFT_ALT_PRESSED 0x0002 | 左の Alt キーが押されます。 |
LEFT_CTRL_PRESSED 0x0008 | 左の Ctrl キーが押されます。 |
NUMLOCK_ON 0x0020 | NUM LOCK ライトがオンです。 |
RIGHT_ALT_PRESSED 0x0001 | 右の Alt キーが押されます。 |
RIGHT_CTRL_PRESSED 0x0004 | 右の Ctrl キーが押されます。 |
SCROLLLOCK_ON 0x0040 | SCROLL LOCK ライトがオンです。 |
SHIFT_PRESSED 0x0010 | Shift キーが押されます。 |
解説
IBM® 101 および 102 キーのキーボードの拡張キーは、キーパッドの左のクラスター内の INS、DEL、HOME、END、PAGE UP、PAGE DOWN、および方向キーとキーパッドの除算 (/) キーと Enter キーです。
キーボード入力イベントは、Ctrl キーを含む任意のキーが押されるか離されたときに生成されます。 ただし、別の文字と組み合わせずに押して離すと、ALT キーはシステムに特別な意味を持ち、アプリケーションに渡されません。 また、入力ハンドルが処理モード (ENABLE_PROCESSED_INPUT) の場合、Ctrl+C キーの組み合わせは渡されません。
例
例については、「入力バッファー イベントの読み取り」を参照してください。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
ヘッダー | WinConTypes.h(WinCon.h 経由、Windows.h を含む) |