<Return[S]><Top>

SendInput

Declare Function Api_SendInput& Lib "user32" Alias "SendInput" (ByVal cInputs&, ByRef pInputs As INPUT_TYPE, ByVal cbSize&)

Declare Function SendInput Lib "user32" (ByVal cInputs As Long, ByRef pInputs As INPUT_TYPE, ByVal cbSize As Long) As Long

キーストローク、マウスの動き、ボタンのクリックなどを合成する。

パラメータ
nInputs
    pInputs 配列内の構造体の数を指定する。
pInputs
    INPUT_TYPE 構造体の配列へのポインタを指定する。

    構造体はそれぞれキーボードまたはマウス入力ストリームに挿入されるイベントを表す。
cbSize
    INPUT_TYPE 構造体のサイズを指定する。

    cbSize パラメータの値が INPUT_TYPE 構造体のサイズと等しくない場合、関数は失敗する。

戻り値
    関数は、キーボードまたはマウス入力ストリームへ挿入することができたイベントの数を返す。

    ほかのスレッドによって入力がすでにブロックされている場合、関数は 0 を返す。
    拡張エラー情報を取得するには、GetLastError 関数を使う。

解説
    SendInput 関数は、INPUT_TYPE 構造体内のイベントを順にキーボードまたはマウス入力ストリームに挿入する。

    これらのイベントに、ユーザーがキーボードまたはマウスで挿入したり、keybd_event、mouse_event に対する呼び出しまたは SendInput 関

    数を別に呼び出すことによって発生するイベントが割り込むことはない。
    この関数によって現在のキーボードの状態がリセットされることはない。この関数の呼び出し時にすでに押されていたキーは、この関数が生

    成するイベントに影響する。これを避けるには、キーボードの状態を GetAsyncKeyState 関数で調べ、必要に応じて修正する。

 

参考

    Type INPUT_TYPE
        dwType As Long
        xi(23) As Byte
    End Type