次の方法で共有


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 を含む)

関連項目

PeekConsoleInput

ReadConsoleInput

WriteConsoleInput

INPUT_RECORD