我最近需要一種方法來爲Java應用程序中的關鍵事件創建全局鉤子。 JNativeHook是一個非常好的解決方案,我從他們的SVN倉庫下載的jar文件立即工作,而不會干擾本地源代碼。JNativeHook更改鍵盤語言
但是我有一個非常小但仍然不受歡迎的問題:當添加全局掛鉤時,鍵盤語言從我的默認匈牙利語(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 64位)
所以我的問題是:有沒有辦法保持默認鍵盤語言不修改和重新編譯本地源代碼?