mouse_event関数 (winuser.h)

mouse_event 関数は、マウスの動きとボタンのクリックを合成します。

メモ この関数は置き換えられます。 代わりに SendInput を使ってください。
 

構文

void mouse_event(
  [in] DWORD     dwFlags,
  [in] DWORD     dx,
  [in] DWORD     dy,
  [in] DWORD     dwData,
  [in] ULONG_PTR dwExtraInfo
);

パラメーター

[in] dwFlags

型: DWORD

マウスの動きとボタンのクリックのさまざまな側面を制御します。 このパラメーターには、次の値の特定の組み合わせを指定できます。

意味
MOUSEEVENTF_ABSOLUTE
0x8000
dx パラメーターと dy パラメーターには、正規化された絶対座標が含まれます。 設定されていない場合、これらのパラメーターには相対データ (最後に報告された位置以降の位置の変化) が含まれます。 このフラグは、システムに接続されているマウスやマウスのようなデバイスの種類に関係なく、設定することも設定することもできません。 相対的なマウスの動きの詳細については、次の「解説」セクションを参照してください。
MOUSEEVENTF_LEFTDOWN
0x0002
左側のボタンがダウンしています。
MOUSEEVENTF_LEFTUP
0x0004
左側のボタンが上に表示されます。
MOUSEEVENTF_MIDDLEDOWN
0x0020
中央のボタンがダウンしています。
MOUSEEVENTF_MIDDLEUP
0x0040
中央のボタンが上に表示されます。
MOUSEEVENTF_MOVE
0x0001
移動が発生しました。
MOUSEEVENTF_RIGHTDOWN
0x0008
右側のボタンがダウンしています。
MOUSEEVENTF_RIGHTUP
0x0010
右側のボタンが上に表示されます。
MOUSEEVENTF_WHEEL
0x0800
マウスにホイールがある場合は、ホイールが移動されました。 移動の量は dwData で指定されます
MOUSEEVENTF_XDOWN
0x0080
X ボタンが押されました。
MOUSEEVENTF_XUP
0x0100
X ボタンが解放されました。
MOUSEEVENTF_WHEEL
0x0800
ホイール ボタンが回転します。
MOUSEEVENTF_HWHEEL
0x01000
ホイールボタンが傾いている。
 

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

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

[in] dx

型: DWORD

MOUSEEVENTF_ABSOLUTEの設定に応じて、x 軸に沿ったマウスの絶対位置、または最後のマウス イベントが生成 されてからの動きの量。 絶対データは、マウスの実際の x 座標として指定されます。移動したミッキーの数として相対データが指定されます。 ミッキーとは、マウスが移動したことを報告するためにマウスが移動する必要がある量です。

[in] dy

型: DWORD

MOUSEEVENTF_ABSOLUTEの設定に応じて、y 軸に沿ったマウスの絶対位置、または最後のマウス イベントが生成 されてからの動きの量。 絶対データは、マウスの実際の y 座標として指定されます。移動したミッキーの数として相対データが指定されます。

[in] dwData

型: DWORD

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

dwFlagsMOUSEEVENTF_HWHEELが含まれている場合、dwData はホイールの移動量を指定します。 正の値は、ホイールが右に傾いていたことを示します。負の値は、ホイールが左に傾いていたことを示します。

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

dwFlagsMOUSEEVENTF_WHEELMOUSEEVENTF_XDOWN、またはMOUSEEVENTF_XUPでない場合、dwData は 0 にする必要があります。

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

[in] dwExtraInfo

種類: ULONG_PTR

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

戻り値

なし

解説

設定中の MOUSEEVENTF_MOVE によって示されるマウスが移動した場合、 dxdy はそのモーションに関する情報を保持します。 情報は、絶対整数値または相対整数値として指定されます。

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

MOUSEEVENTF_ABSOLUTE値が指定されていない場合、dxdy は、最後のマウス イベントが生成されたとき (最後に報告された位置) からの相対モーションを指定します。 正の値は、マウスが右 (または下) に移動した場合を意味します。負の値は、マウスが左 (または上) に移動した場合を意味します。

相対的なマウスの動きは、マウスの速度と加速度レベルの設定の対象となります。 エンド ユーザーは、コントロール パネルの Mouse アプリケーションを使用してこれらの値を設定します。 アプリケーションは 、SystemParametersInfo 関数を使用してこれらの値を取得して設定します。

システムは、加速度を適用するときに、指定された相対マウスモーションに 2 つのテストを適用します。 x 軸または y 軸に沿って指定された距離が最初のマウスしきい値より大きく、マウスの加速度レベルが 0 でない場合、オペレーティング システムは距離を 2 倍にします。 x 軸または y 軸に沿って指定された距離が 2 番目のマウスしきい値より大きく、マウスの加速度レベルが 2 に等しい場合、オペレーティング システムは最初のしきい値テストを適用した結果の距離を 2 倍にします。 したがって、オペレーティング システムでは、x 軸または y 軸に沿って相対的に指定されたマウスの動きを最大 4 倍に乗算できます。

アクセラレーションが適用されると、システムは結果の値を目的のマウス速度でスケーリングします。 マウスの速度は、1 (最も遅い) から 20 (最速) の範囲で指定でき、マウスが移動する距離に基づいてポインターの移動量を表します。 既定値は 10 で、マウスの動きに追加の変更はありません。

mouse_event関数は、必要なアプリケーションによってマウス イベントを合成するために使用されます。 また、マウスの位置やボタンの状態よりも多くの情報を取得する必要があるアプリケーションでも使用されます。 たとえば、タブレットの製造元がペンベースの情報を独自のアプリケーションに渡す場合、タブレット ハードウェアに直接通信し、追加情報を取得してキューに保存する DLL を記述できます。 その後、DLL は、標準ボタンと x/y 位置データと共に dwExtraInfo パラメーターで、キューに置かれた追加情報へのポインターまたはインデックスを使用して、mouse_eventを呼び出します。 アプリケーションが追加情報を必要とする場合は、 dwExtraInfo に格納されているポインターまたはインデックスを使用して DLL を呼び出し、DLL は追加情報を返します。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winuser.h (Windows.h を含む)
Library User32.lib
[DLL] User32.dll

関連項目

概念

GetMessageExtraInfo

マウス入力

その他のリソース

リファレンス

SystemParametersInfo