MOUSEINPUT 構造体 (winuser.h)

シミュレートされたマウス イベントに関する情報が含まれます。

構文

typedef struct tagMOUSEINPUT {
  LONG      dx;
  LONG      dy;
  DWORD     mouseData;
  DWORD     dwFlags;
  DWORD     time;
  ULONG_PTR dwExtraInfo;
} MOUSEINPUT, *PMOUSEINPUT, *LPMOUSEINPUT;

メンバー

dx

型: LONG

dwFlags メンバーの値に応じて、マウスの絶対位置、または最後のマウス イベントが生成されてからのモーションの量。 絶対データは、マウスの x 座標として指定されます。相対データは、移動されたピクセル数として指定されます。

dy

型: LONG

dwFlags メンバーの値に応じて、マウスの絶対位置、または最後のマウス イベントが生成されてからのモーションの量。 絶対データは、マウスの y 座標として指定されます。相対データは、移動されたピクセル数として指定されます。

mouseData

型: DWORD

dwFlagsMOUSEEVENTF_WHEELが含まれている場合、mouseData はホイールの移動量を指定します。 正の値は、ホイールがユーザーより前方に回転したことを示します。負の値は、ユーザーに向かってホイールが後方に回転したことを示します。 1 つのホイール クリックは 、WHEEL_DELTA (120) として定義されます。

Windows Vista: dwFlagsMOUSEEVENTF_HWHEELが含まれている場合、 dwData はホイールの移動量を指定します。 正の値は、ホイールが右に回転したことを示します。負の値は、ホイールが左に回転したことを示します。 1 つのホイール クリックは 、WHEEL_DELTA (120) として定義されます。

dwFlagsMOUSEEVENTF_WHEELMOUSEEVENTF_XDOWN、またはMOUSEEVENTF_XUPが含まれていない場合、mouseData は 0 である必要があります。

dwFlagsMOUSEEVENTF_XDOWNまたはMOUSEEVENTF_XUPが含まれている場合、mouseData は、どの X ボタンが押されたか離されたかを指定します。 この値は、次のフラグの任意の組み合わせにすることができます。

説明
XBUTTON1
0x0001
最初の X ボタンを押すか離した場合に設定します。
XBUTTON2
0x0002
2 つ目の [X] ボタンを押すか離すかを設定します。

dwFlags

型: DWORD

マウスの動きとボタンのクリックのさまざまな側面を指定するビット フラグのセット。 このメンバーのビットは、次の値の任意の妥当な組み合わせにすることができます。

マウス ボタンの状態を指定するビット フラグは、進行中の状態ではなく、状態の変更を示すように設定されます。 たとえば、マウスの左ボタンを押したまま押すと、左ボタンが最初に押されたときに MOUSEEVENTF_LEFTDOWN が設定されますが、後続のモーションには設定されません。 同様に MOUSEEVENTF_LEFTUP は、ボタンが最初に離されたときにのみ設定されます。

両方とも mouseData フィールドを使用する必要があるため、MOUSEEVENTF_WHEEL フラグと MOUSEEVENTF_XDOWN または MOUSEEVENTF_XUP フラグの両方を dwFlags パラメーターで同時に指定することはできません。

説明
MOUSEEVENTF_MOVE
0x0001
移動が発生しました。
MOUSEEVENTF_LEFTDOWN
0x0002
左ボタンが押されました。
MOUSEEVENTF_LEFTUP
0x0004
左側のボタンが離されました。
MOUSEEVENTF_RIGHTDOWN
0x0008
右ボタンが押されました。
MOUSEEVENTF_RIGHTUP
0x0010
右側のボタンが離されました。
MOUSEEVENTF_MIDDLEDOWN
0x0020
中央のボタンが押されました。
MOUSEEVENTF_MIDDLEUP
0x0040
中央のボタンが離されました。
MOUSEEVENTF_XDOWN
0x0080
X ボタンが押されました。
MOUSEEVENTF_XUP
0x0100
[X] ボタンが解放されました。
MOUSEEVENTF_WHEEL
0x0800
マウスにホイールがある場合は、ホイールを移動しました。 移動の量は mouseData で指定されます。
MOUSEEVENTF_HWHEEL
0x1000
マウスにホイールがある場合、ホイールは水平方向に移動しました。 移動の量は mouseData で指定されます。
Windows XP/2000: この値はサポートされていません。
MOUSEEVENTF_MOVE_NOCOALESCE
0x2000
WM_MOUSEMOVEメッセージは結合されません。 既定の動作では、 メッセージWM_MOUSEMOVE 合体します。
Windows XP/2000: この値はサポートされていません。
MOUSEEVENTF_VIRTUALDESK
0x4000
座標をデスクトップ全体にマップします。 MOUSEEVENTF_ABSOLUTEで使用する必要があります。
MOUSEEVENTF_ABSOLUTE
0x8000
dx メンバーと dy メンバーには、正規化された絶対座標が含まれています。 フラグが設定されていない場合、 dxdy には相対データ (最後に報告された位置以降の位置の変化) が含まれます。 このフラグは、システムに接続されているマウスやその他のポインティング デバイスの種類に関係なく、設定することも設定することもできません。 相対的なマウスの動きの詳細については、次の「解説」セクションを参照してください。

time

型: DWORD

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

dwExtraInfo

種類: ULONG_PTR

マウス イベントに関連付けられている追加の値。 アプリケーションは GetMessageExtraInfo を 呼び出して、この追加情報を取得します。

解説

マウスが移動した場合は、 MOUSEEVENTF_MOVEで示され、 dxdy はその動きに関する情報を指定します。 情報は、絶対値または相対整数値として指定されます。

MOUSEEVENTF_ABSOLUTE値を指定した場合、dxdy には、0 ~ 65,535 の正規化された絶対座標が含まれます。 イベント プロシージャは、これらの座標を表示サーフェイスにマップします。 座標 (0,0) は、表示サーフェイスの左上隅にマップされます。座標 (65535,65535) は右下隅にマップされます。 マルチモニター システムでは、座標はプライマリ モニターにマップされます。

MOUSEEVENTF_VIRTUALDESKが指定されている場合、座標は仮想デスクトップ全体にマップされます。

MOUSEEVENTF_ABSOLUTE値が指定されていない場合、dxdy は、前のマウス イベント (最後に報告された位置) に対する相対的な移動を指定します。 正の値は、マウスが右 (または下) に移動した場合を意味します。負の値は、マウスが左 (または上) に移動した場合を意味します。

相対的なマウスの動きは、マウス速度と 2 つのマウスしきい値の影響を受けます。 ユーザーは、コントロール パネルの [マウスのプロパティ] シートの [ポインター速度] スライダーを使用して、この 3 つの値を設定します。 これらの値は、 SystemParametersInfo 関数を使用して取得および設定できます。

システムは、指定された相対マウス移動に 2 つのテストを適用します。 x 軸または y 軸に沿って指定された距離が最初のマウスしきい値より大きく、マウス速度が 0 でない場合、システムは距離を 2 倍にします。 x 軸または y 軸に沿って指定された距離が 2 番目のマウスしきい値より大きく、マウスの速度が 2 に等しい場合、システムは最初のしきい値テストを適用した結果の距離を 2 倍にします。 したがって、x 軸または y 軸に沿って指定された相対的なマウス移動に最大 4 倍の乗算が可能になります。

要件

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

関連項目

概念

GetMessageExtraInfo

INPUT

キーボード入力

リファレンス

SendInput