私は最近、Java アプリケーションでキー イベントのグローバル フックを作成する方法が必要でした。JNativeHook は非常に優れたソリューションでした。SVN リポジトリからダウンロードしたjarファイルは、ネイティブ ソースをいじることなくすぐに機能しました。
しかし、非常に小さいが、まだ望ましくない問題があります。グローバルフックが追加されると、キーボード言語がデフォルトのハンガリー語 (HU) から英語 (EN) に変わります。
Wiki の例を見ましたが、何も見つかりませんでした。私のコードは、彼らの例から取られた非常に単純です:
try
{
GlobalScreen.registerNativeHook();
}
catch (NativeHookException ex)
{
System.err.println(ex.getMessage());
System.exit(1);
}
//KeyHandler class implements the NativeKeyListener interface
GlobalScreen.getInstance().addNativeKeyListener(new KeyHandler());
(Windows 7 64bitで使用しています)
私の質問は次のとおりです。変更せずにデフォルトのキーボード言語を維持し、ネイティブ ソースを再コンパイルする方法はありますか?