問題タブ [mouse-hook]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
4171 参照

c++ - C++ でのマウス フックに関する混乱

グローバルなマウス位置を取得しようとしています。マウスの位置を取得できるフックが機能していますが、フックコード内でしかアクセスできません。main 内のデータにアクセスしようとしても機能しません。

これを説明する最良の方法は、コードを使用することです。

上記のコードでは、マウスを動かすと、コンソール ウィンドウに新しい位置が表示されます。ただし、main の中に入れるstd::cout<<position.x<<std::endl;と 0 とだけ表示され positionます。 はグローバル変数です。

出力がメインの内部にある場合のコード:

コードの最初のチャンクは正常に動作し、マウスの位置を検出します。x、y データをメインに取得する方法がわかりません。

0 投票する
0 に答える
1631 参照

c++ - 0 を返すマウス フックの GET_WHEEL_DELTA_WPARAM(wParam)

このスレッドでマウス フックを見つけましたが、これは機能しますが、マウス ホイールの状態 (前方または後方に移動しているかどうか) を確認しようとすると、動きを取得する関数は常に 0 を返します。

GET_WHEEL_DELTA_WPARAM(wParam) を間違って呼び出していますか? または、GET_WHEEL_DELTA_WPARAM(wParam) 関数と互換性のないフックの使用方法ですか?

私が見つけた別のスレッドには、MOUSEHOOKSTRUCTEX という名前の構造体から mouseData (探している移動値を取得できる可能性があります) を取得するコードがありますが、コンパイルしようとすると、「'MOUSEHOOKSTRUCTEX' は宣言されていませんでした」というエラーが表示されます。この範囲で」。

このコードは問題を特定するために削除されていることに注意してください。

修正は、次を使用して動きを取得することです。

MouseHookProc 関数内。

ユーザー chrisからの回答

0 投票する
0 に答える
288 参照

c# - このコードには、パラメーターのない関数呼び出しがあります - C# では動作しますが、VB.NET では動作しません

C# にあるこのコードを VB.NET で使用しようとしています。このコードの目的は、コンソール アプリケーションを使用して、マウス ボタンをクリックしたときにマウスの座標を読み取って出力することです。はい、これがコンソール アプリケーションのばかげた使い方であることは承知していますが、私が実行したいプロジェクトには必要かもしれません。C# で動作させることができましたが、VB.NET ではこの領域でエラーが発生します。

C# の行は次のとおりです。

HookCallback 関数には 3 つのパラメーターがあり、以下のコードを含めました。

C# コードの何らかの理由で、パラメーターがリストされていない HookCallback 関数を呼び出しますが、これはまったく問題ありません。VB.NET では、予想どおり、これは機能しません。私の質問は次のとおりです。これを VB.NET で機能させるにはどうすればよいですか? 私は C# を初めて使用します。それ以外の場合は、C# コードを使用します。

0 投票する
1 に答える
683 参照

c# - VB.NET - このアプリケーションで 2 つの整数を返してマウス フックを設定する

この C# コード(自分のものではない! ) をVB.NETで動作させ、コンソール アプリケーションにマウス フックを実装することができました。VB.NET コードは次のとおりです。

次に、サブメインから呼び出しました。

しかし、デバッグすると Application.Run() の行まで行って次の行に進まないので、裏で何をしているのかわかりません。次に、ユーザーの入力を待ち、コンソールに整数の座標を返します。これは私がやりたいことではありません。このコードを別の関数またはバックグラウンド ワーカーで実行し、マウス クリックを受け取るたびに座標をメイン スレッドに渡して、残りを処理できるようにしたいと考えています。問題は、このコードが私の理解レベルには複雑すぎて、どのように機能するのかよくわからないことです。ユーザーがクリックするたびにコンソールがマウス座標を返すように少なくとも管理できれば、それを無視してそこから残りのコードを処理できるはずです。

0 投票する
1 に答える
3875 参照

qt - QT グローバル マウス リスナー

JavaからQTを初めて使用します。次のようなものはありますか: QT のhttps://code.google.com/p/jnativehook/ ? すべてのマウス イベントを座標で取得できますか? 私は次のことをしました:

これは正常に機能しますが、システム全体ではなく、アプリケーション内でのみ実行されます。QTでこれを機能させるにはどうすればよいですか? また、これはWindowsでのみ実行する必要があります...

0 投票する
1 に答える
660 参照

c++ - グローバル マウス フックによりアプリケーションがクラッシュする (c++ / windows7)

Windows 7 でグローバル マウス フックを挿入する dll を作成しようとしています。基本的には動作しますが、数秒後 (おそらく 10 ~ 15)、アプリケーション全体がフリーズし、Visual Studio の外でマウスが動作しなくなります (まだvs を介してアプリを停止しますが、他には何もしません (タスク マネージャーを使用して停止するなど)。

私はしばらくの間探してきましたが、私の問題に対する答えが本当に見つかりません。私は自分のdllを最小限に減らしました(マウスフックを何もせずにインストールします)が、それでも起こります。

ヘッダ

cpp

例外も何もありません。アプリケーションがフリーズし、Visual Studio 以外のすべてがマウスに反応しなくなります (前に述べたように、タスク マネージャーでさえありません)。

重要かどうかはわかりませんが、C++ コンソール アプリケーションで dll を使用しています。

前もってありがとうマヌエル

0 投票する
0 に答える
84 参照

c# - アプリケーション外のアクティビティをログに記録する

たぶんまた間違った質問ですが:

バックグラウンドでの実行中に各ユーザーのマウスクリックを記録するアプリケーションを作成しようとしています。

マウスの各クリックの種類を ( を使用してHook) ログに記録できましたが、問題が発生しました。各クリックを記録するだけでなく、何がどこで押されたかを知る必要があります。また、アプリケーション内でどのような種類のオブジェクトが押されているか (buttonまたはcheckbox、存在する場合はどのパネルで、オブジェクト名も) という 2 番目の情報をログに記録する必要がありますが、それらのオブジェクトが何をすべきかを知る必要はありません。

それで、助けを借りて行うことは可能ですか、それを行うのにglobal hook役立つライブラリがいくつかありますか?

EDIT: wpfアプリケーションを簡単にする必要があることがわかりましたが、作成されたwpf内だけでなく、クリックされた各オブジェクトをログに記録する方法にはさらに問題があります。

0 投票する
0 に答える
1385 参照

c# - UnhookWindowsHookEx() の呼び出し後に無効なフック ハンドル エラーが発生する

ウィンドウアプリケーション c# .net を開発しています。そのアプリケーションは、他のマシン(ウィンドウマシン)をリモートデスクトップ接続で接続し、そのリモートマシンでユーザーが行ったことを監視するために使用されます。

ユーザーの操作を監視するために、リモート マシンへの接続時に SetWindowsHookEx() メソッドを使用して、WH_KEYBOARD_LL および WH_MOUSE_LL フックのカスタム フック プロシージャをグローバル フック プロシージャとしてインストールしました。

ユーザーがリモート マシンからログオフするとき、UnhookWindowsHookEx() を使用してフック プロシージャを解放する必要があります。ここで、「フック ハンドルが無効です」(無効なフック ハンドルを意味します) というメッセージが表示されると、問題が発生します。

このエラーは常に発生するわけではありません。それは時々起こりました。

私は c# .net 開発の初心者です。このエラーについてはわかりません。

したがって、 UnhookWindowsHookEx() が呼び出されたときにそのエラーが発生する理由を知りたいです。

誰か助けてください。

私のコードは次のとおりです。

上記のコードは、次のコードを実行します。