Как вы записываете нажатия клавиш при работе в другом окне в Java? - PullRequest
2 голосов
/ 06 января 2010

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

Как я могу записывать нажатия клавиш, когда окно другого приложения является активным?

Ответы [ 3 ]

4 голосов
/ 06 января 2010

Необходимая поддержка не предоставляется Java. Это довольно просто сделать, если у вас есть доступ к расширению RECORD в X или Win32 в Windows.

Вот проект Python, реализующий поддержку обеих этих платформ: pykeylogger .

2 голосов
/ 06 января 2010

(только для Windows) Теоретически вы можете использовать JNA или JNI для привязки к GetAsyncKeyState , и вы сможете отслеживать нажатия клавиш.

2 голосов
/ 06 января 2010

Я не думаю, что вы можете сделать это с чистой Java. Если это вообще возможно, для этого потребуется помощь (сильно) специфичной для платформы библиотеки нативного кода.

...