2009-07-24 4 views
0

マウスのクリック/移動を完全に制御するアプリケーションを作成しています。マウスの動きのブロック/無効化/ C#でのクリック

たとえば、アプリケーションを実行していて完全に透明な全画面を表示している場合、通常はマウスボタンをクリックするとアプリケーションがバックグラウンドでフォーカスされます - これを止める必要がありますつまり、ボタンをクリックすると画面上に何も表示されません)、すべてのマウスアクティビティを処理し、このアプリケーションを使用して送信する必要があるためです。

2つのマウスが独立して動作できるようにする必要があります。これをオーバーレイとして使用して、C#で描画して2つの擬似ポインタを作成しています。

+0

フォームは完全に透過的ではなく非表示になっていますか?フォームを非表示にするのではなく透明にするには、余分な作業が必要です。これが必要なのですか? – MusiGenesis

+0

私はそれが透明かどうかはわかりませんが、アプリケーションがバックグラウンドにあるかどうかを見ることができ、アプリケーションの非表示/透過部分をクリックすると、マウスはバックグラウンドアプリケーションをフォアグラウンド/フォーカス。 –

答えて

0

マウスキャプチャと呼ばれるものは、WindowsフォームとWPFとWinAPIの両方で直接行うことができます。

ここにはthe way to do it in WinFormsです。

WinAPIレベルでは、SetCapture(HWND w)関数呼び出しを使用できます。

+0

こんにちは、 ここには、WinFormsでこれを行う方法があります。 < - これは実際には、 "前景ウィンドウがマウスを捕らえたとしても、ユーザーは別のウィンドウをクリックして、フォアグラウンドに持っていくことができます。"これは私が望むものではなく、ボタンがクリックされると、アプリケーションはまだフォーカス/フォアグラウンドになります。 –

関連する問題