プラットフォーム SDK
SendInput
キーストローク、マウスの動き、ボタンのクリックなどを合成します。
UINT SendInput(
UINT nInputs, // 入力イベントの数
LPINPUT pInputs, // 挿入する入力イベントの配列
int cbSize // 構造体のサイズ
);
パラメータ
- nInputs
- pInputs 配列内の構造体の数を指定します。
- pInputs
- INPUT 構造体の配列へのポインタを指定します。構造体はそれぞれキーボードまたはマウス入力ストリームに挿入されるイベントを表します。
- cbSize
- INPUT 構造体のサイズを指定します。cbSize パラメータの値が INPUT 構造体のサイズと等しくない場合、関数は失敗します。
戻り値
関数は、キーボードまたはマウス入力ストリームへ挿入することができたイベントの数を返します。ほかのスレッドによって入力がすでにブロックされている場合、関数は 0 を返します。
拡張エラー情報を取得するには、GetLastError 関数を使います。
解説
SendInput 関数は、INPUT 構造体内のイベントを順にキーボードまたはマウス入力ストリームに挿入します。これらのイベントに、ユーザーがキーボードまたはマウスで挿入したり、keybd_event、mouse_event に対する呼び出しまたは SendInput 関数を別に呼び出すことによって発生するイベントが割り込むことはありません。
この関数によって現在のキーボードの状態がリセットされることはありません。この関数の呼び出し時にすでに押されていたキーは、この関数が生成するイベントに影響します。これを避けるには、キーボードの状態を GetAsyncKeyState 関数で調べ、必要に応じて修正します。
対応情報
Windows NT/2000:Windows NT 4.0 SP3 以降
Windows:Windows 98
ヘッダー:winuser.h 内で宣言
インポートライブラリ:user32.lib を使用
参照
、GetAsyncKeyState、keybd_event、mouse_event