如何捕获所有消息?
这是我的代码,只适用于LL(低级)挂钩:
public class Test extends Application {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
primaryStage.setTitle("JavaFX");
primaryStage.show();
User32.INSTANCE.SetWindowsHookEx(2, new HOOKPROC_test(), Kernel32.INSTANCE.GetModuleHandle(null), 0);
new Timer().scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
User32.INSTANCE.GetMessage(new User32.MSG(), null, 0, 0);
}
}, 100L, 100L);
}
class HOOKPROC_test implements HOOKPROC {
public HOOKPROC_test() {
}
public LRESULT callback(int nCode, WPARAM wParam, LPARAM lParam) {
System.err.println("callback nCode: " + nCode);
return new LRESULT(1);
}
}
}
我听说我需要为进程注入一些DLL,但我不知道该怎么做。