Java读取Windows密钥状态
我想编写一个程序,每次按下键盘上的按钮时播放Java读取Windows密钥状态,java,key,keylistener,jnativehook,Java,Key,Keylistener,Jnativehook,我想编写一个程序,每次按下键盘上的按钮时播放声音。(即使该计划没有重点) 我正在使用JNativeHook,但是当我想添加键侦听器时,我得到一个错误,因为该方法。getInstance不包含在全局屏幕中:( 有人有主意吗 我的代码: package test1; import org.jnativehook.GlobalScreen; import org.jnativehook.NativeHookException; import org.jnativehook.keyboard.Nativ
声音。(即使该计划没有重点)
我正在使用JNativeHook
,但是当我想添加键侦听器时,我得到一个错误
,因为该方法。getInstance不包含在全局屏幕中:(
有人有主意吗
我的代码:
package test1;
import org.jnativehook.GlobalScreen;
import org.jnativehook.NativeHookException;
import org.jnativehook.keyboard.NativeKeyEvent;
import org.jnativehook.keyboard.NativeKeyListener;
public class jNativeHookExample implements NativeKeyListener {
public void nativeKeyPressed(NativeKeyEvent e) {
System.out.println(NativeKeyEvent.getKeyText(e.getKeyCode()));
if (e.getKeyCode() == NativeKeyEvent.VC_F9) {
//play sound;
}
}
public void nativeKeyReleased(NativeKeyEvent e) {
System.out.println("Key Released: " + NativeKeyEvent.getKeyText(e.getKeyCode()));
}
public void nativeKeyTyped(NativeKeyEvent e) {
System.out.println("Key Typed: " + NativeKeyEvent.getKeyText(e.getKeyCode()));
}
public static void main(String[] args) {
try {
/* Register jNativeHook */
GlobalScreen.registerNativeHook();
} catch (NativeHookException ex) {
/* Its error */
System.err.println("There was a problem registering the native hook.");
System.err.println(ex.getMessage());
System.exit(1);
}
GlobalScreen.getInstance().addNativeKeyListener(new jNativeHookExample());
}
}
这段代码对于jnativehook的1.1版可能还可以
从2.0版开始,GlobalScreen
类没有getInstance()
方法,addNativeKeyListener()
现在是静态的,因此应该直接在GlobalScreen
上调用它:
GlobalScreen.addNativeKeyListener(new jNativeHookExample());
你也可以发布错误的跟踪信息吗?