KEYBDINPUT 構造体 (winuser.h)

シミュレートされたキーボード イベントに関する情報が含まれます。

構文

typedef struct tagKEYBDINPUT {
  WORD      wVk;
  WORD      wScan;
  DWORD     dwFlags;
  DWORD     time;
  ULONG_PTR dwExtraInfo;
} KEYBDINPUT, *PKEYBDINPUT, *LPKEYBDINPUT;

メンバー

wVk

種類: WORD

仮想キー コード。 コードは、1 ~ 254 の範囲の値である必要があります。 dwFlags メンバーがKEYEVENTF_UNICODEを指定する場合、wVk は 0 である必要があります。

wScan

種類: WORD

キーのハードウェア スキャン コード。 dwFlagsKEYEVENTF_UNICODEが指定されている場合、wScan はフォアグラウンド アプリケーションに送信される Unicode 文字を指定します。

dwFlags

型: DWORD

キーストロークのさまざまな側面を指定します。 このメンバーには、次の値の特定の組み合わせを指定できます。

意味
KEYEVENTF_EXTENDEDKEY
0x0001
指定した場合、 wScan スキャン コードは 2 バイトのシーケンスで構成され、最初のバイトの値は 0xE0。 詳細については、「 拡張キー フラグ 」を参照してください。
KEYEVENTF_KEYUP
0x0002
指定した場合、キーは解放されます。 指定しない場合、キーが押されています。
KEYEVENTF_SCANCODE
0x0008
指定した場合、 wScan は キーを識別し、 wVk は無視されます。
KEYEVENTF_UNICODE
0x0004
指定した場合、システムは VK_PACKET キーストロークを合成します。 wVk パラメーターは 0 である必要があります。 このフラグは、 KEYEVENTF_KEYUP フラグとのみ組み合わせることができます。 詳細については、「解説」を参照してください。

time

型: DWORD

イベントのタイム スタンプ (ミリ秒単位)。 このパラメーターが 0 の場合、システムは独自のタイム スタンプを提供します。

dwExtraInfo

種類: ULONG_PTR

キーストロークに関連付けられた追加の値。 この情報を取得するには、 GetMessageExtraInfo 関数を使用します。

注釈

INPUT_KEYBOARD では、 KEYEVENTF_UNICODE フラグを使用してテキスト入力であるかのように、手書き認識や音声認識などの非キーボード入力メソッドがサポートされています。 KEYEVENTF_UNICODEが指定されている場合、SendInputwParamVK_PACKETと等しいWM_KEYDOWNまたはWM_KEYUPメッセージをフォアグラウンド スレッドのメッセージ キューに送信します。 GetMessage または PeekMessage がこのメッセージを取得すると、TranslateMessage にメッセージを渡すと、wScan で最初に指定された Unicode 文字を含むWM_CHARメッセージが投稿されます。 この Unicode 文字は、ANSI ウィンドウにポストされると、適切な ANSI 値に自動的に変換されます。

KEYEVENTF_SCANCODE フラグを設定して、スキャン コードの観点からキーボード入力を定義します。 これは、現在使用されているキーボードに関係なく、物理的なキーストロークをシミュレートする場合に便利です。 スキャン コードが拡張キーの場合は、 KEYEVENTF_EXTENDEDKEY フラグを渡すこともできます。 キーの仮想キーの値は、現在のキーボード レイアウトや他のキーが押された内容によって変わる場合がありますが、スキャン コードは常に同じになります。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
Header winuser.h (Windows.h を含む)

こちらもご覧ください