問題タブ [jnativehook]
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.
java - MacOS ネイティブ フック リスナー Java
現在C#
、Windows で JNI を使用する Java アプリケーションで使用される DLL があります。
マウス、キーボードからネイティブ リスナー フックを取得し、テキストを取得および置換し、キャレット位置とソフトウェア情報を取得できます。MacOS (High Sierra) にも同じことが必要です。
いくつかの調査を行ったところ、非常に優れていることがわかりましJNativeHook
たが、非常に重要なキャレット位置など、必要なものがいくつかありませんでした。これはMacOSでも可能ですか?
もしそうなら、それを行うための最良の方法は何ですか? 私は好みがありますObjective-C
が、このコードをJavaでどのように使用できるかわかりません。
ありがとう
java - 管理者権限を持つ他のアプリケーションが JNativeHook を介して登録されたフックを無効にしないようにするにはどうすればよいですか?
JNativeHook API ( https://github.com/kwhat/jnativehook ) を介してマウスとキーボードのフックを登録する Java アプリケーションを Windows で実行しています。私の問題は、管理者権限を持つ外部アプリケーションによって無効になっていることです。
私は多くのデバッグを行いましたが、アプリケーションは管理者権限でのみこれを行うことができます.管理者とマウスフックでアプリケーションを連携させる必要があります. 2 つのアプリケーションが両方とも管理者権限を持っている場合、両方とも互いのフックを無効にできないことがわかりました。これは完璧ですが、私には当てはまりません。
この問題を解決する方法は 2 つしか考えられませんが、どちらも方法がわかりません。
- 管理者で Java を実行する方法を見つけます (おそらく機能しないでしょう)。
JNativeHook でメソッドを検索/作成して、フック管理者を強制します。
/li>
MouseListener と KeyListener は、マウス イベントとキーボード イベントを処理する 2 つの異なるクラスです (問題とは関係ありませんが、入れてみようと思いました)。
外部アプリケーションの実行中に JNativeHook フックが無効にならないようにするにはどうすればよいですか?