Global KeyLogger

Некоторое время я искал библиотеку, которая позволяет мне узнать, какое ключевое событие было нажато. Но не в специализированной программе / текстовом поле или в чем-то еще, а как процесс, работающий в фоновом режиме. Я не пытаюсь написать кейлоггер, но я хочу создать программу, которая позволяет мне создавать ярлыки для комбинаций клавиш.


person Paul Sauer    schedule 21.01.2016    source источник


Ответы (2)


Вы можете добиться этого с помощью JNI и Global System hook. Перехватчик Global System применяет Key Logger ко всему компьютеру, а не к JVM, что позволяет вам фиксировать нажатия клавиш вне JVM.

Пример его реализации можно увидеть здесь

person Dan    schedule 21.01.2016
comment
Спасибо! Я попробую так. - person Paul Sauer; 21.01.2016

Я не думаю, что Java имеет встроенную поддержку чего-то подобного. Java - это действительно язык абстракции, он уводит вас от ОС, чтобы упростить разработку, но также и в целях безопасности.

Ключевые события являются ядром ОС, поэтому вам (вероятно) понадобится язык или библиотека, имеющая такую ​​возможность. Ознакомьтесь с JNativeHook.

person erik-sn    schedule 21.01.2016
comment
Я уже пытался использовать эту библиотеку, но это не удалось из-за того, что 32-битная .dll не работала с моей 64-битной системой. - person Paul Sauer; 21.01.2016