Java JNA - захват всех сообщений - PullRequest
0 голосов
/ 23 мая 2018

Как я могу перехватить все сообщения?

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

...