Как я могу перехватить все сообщения?
Вот мой код, который работает только с перехватами 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к процессу, но я не уверен, как мне это сделать.