Как предотвратить печать окна ввода ключа и распечатать только сопоставленный ключ? - PullRequest
0 голосов
/ 20 декабря 2018

Я использую библиотеку Jnativehook для прослушивания всех событий клавиш ввода в глобальном масштабе. Моя идея заключается в том, что всякий раз, когда вы вводите клавишу, приложение будет перехватывать событие и отображать его на другое значение ключа * 1004.*.Однако у меня возникла проблема в том, что окно всегда прослушивает мою клавишу ввода и печатает ее с помощью сопоставленной клавиши.

До сих пор я исследовал, но ничего не изменилось.

   public void nativeKeyPressed(NativeKeyEvent e) {


    if (e.getKeyCode() == NativeKeyEvent.VC_B) {
        try {
            Field f = NativeInputEvent.class.getDeclaredField("reserved");
            f.setAccessible(true);
            f.setShort(e, (short) 0x01);
            try {
                robot = new Robot();
                //robot.setAutoDelay(0);

                robot.keyPress(103);

            } catch (AWTException ex) {
                ex.printStackTrace();
            }
        }
        catch (Exception ex) {
            ex.printStackTrace();
        }
    }
}

Ожидаемый результат : 7

Выход реальности : b7

...