最終更新:2025-07-18 (金) 16:52:28 (14h)  

SendInput
Top / SendInput

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

https://learn.microsoft.com/ja-jp/windows/win32/api/winuser/nf-winuser-sendinput

http://msdn.microsoft.com/ja-jp/library/cc411004.aspx

UINT SendInput(
  UINT nInputs,     // 入力イベントの数
  LPINPUT pInputs,  // 挿入する入力イベントの配列
  int cbSize        // 構造体のサイズ
);

INPUT

  • typeでマウス/キーボード/HWを選ぶ
    typedef struct tagINPUT {
      DWORD type;
      union {
        MOUSEINPUT    mi;
        KEYBDINPUT    ki;
        HARDWAREINPUT hi;
      } DUMMYUNIONNAME;
    } INPUT, *PINPUT, *LPINPUT;

MOUSEINPUT

KEYBDINPUT

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

HARDWAREINPUT?

  • typedef struct tagHARDWAREINPUT {
      DWORD uMsg;
      WORD  wParamL;
      WORD  wParamH;
    } HARDWAREINPUT, *PHARDWAREINPUT, *LPHARDWAREINPUT;

関連