2012-12-10 9 views
6

mouse_eventを使用して、左または右ボタンのマウスクリックをシミュレートする方法を知っています。私が知りたいことは、C#/ C++のこの関数または別のものが、ゲームマウスにあるmouse4またはmouse5ボタンをシミュレートできるかどうかです。サイドボタンのマウスクリックのシミュレーション

+0

私はそれがマウスに依存だと思う..私は使用している。このように、すべてのマウスがに彼らのボタンを設定します彼らは他のキーボードのコントロール(など)のように動作私はパブリックドメイン上でこれの背景コードを見つけることはないと思う..(マウス開発者がSDKを持っていない限り) – Sayse

+0

Windowsフォーム? WPF? Silverlight?等。? –

+0

私はWindowsフォームを使用していますが、私が必要とするシミュレーションは、自分の関数に余分なパラメータを渡すことではありません。これは外部アプリケーションに送信されます。 – John

答えて

0

RAWINPUT構造を作成し、WM_INPUTウィンドウメッセージを使用してウィンドウに送信できます。

WM_INPUT reference
RAWINPUT reference
RAWINPUT P/Invoke reference

Speifically、あなたはRAWINPUT内部で使用する​​構造体を作成する必要があります。​​のusButtonFlagsフィールドには、4番目と5番目のマウスボタンに関する情報を入れることができます。

RAWMOUSE reference
RAWMOUSE P/Invoke reference
RAWMOUSEBUTTONS Enumeration P/Invoke reference

あなたが使用する必要があります正確な実装は、ターゲットアプリケーションおよびプラットフォームに依存します。 WM_INPUTメッセージを受信する前に、生の入力用のウィンドウを登録する必要があります。ウィンドウ内の

1

mouse4mouse5あなたはこれらを使用することができますxbutton1xbutton2

名前が付けられています。

mouse_event(MOUSEEVENTF_XDOWN, NULL, NULL, XBUTTON1, NULL); 
mouse_event(MOUSEEVENTF_XDOWN, NULL, NULL, XBUTTON2, NULL); 
mouse_event(MOUSEEVENTF_XUP, NULL, NULL, XBUTTON1, NULL); 
mouse_event(MOUSEEVENTF_XUP, NULL, NULL, XBUTTON2, NULL); 
関連する問題