На окнах: использование ловушки для захвата глобальных событий ввода в Java - PullRequest
0 голосов
/ 24 декабря 2010

Введение

Для простого средства записи инструментов тестирования, как захватывать щелчок левой кнопкой мыши в Java.

Для краткости, в прошлый раз, когда я делал это, он использовал код вне песочницы JDK. Поэтому я написал DLL на C ++ и использовал ее с JNI - я не хочу делать это снова.

Теперь я попытался использовать jintellitype , и он отлично справляется с горячими клавишами (что я тоже хочу сделать), но я не могу найти способ зафиксировать щелчок левой кнопкой мыши , ( пример для jintellitype )

Об ответе

Я предполагаю, что ответ будет одним из следующих:

Ответ 1

Ниже: (x = уникальный номер; y = целое число в качестве двоичных ключей-модификаторов, например ctrl и alt; z = код ключа)

JIntellitype.getInstance().registerHotKey(x, y, z);

Каковы правильные значения для y и z для left mouse click.

Ответ 2

Не волнует Answer 1, но вы должны использовать библиотеку x, и вот как это сделать ...

Ответы [ 3 ]

2 голосов
/ 24 декабря 2010

Почему бы не использовать JNA, который может оградить вас от сложностей JNI (хотя, конечно, JNA использует сам JNI)? Его довольно просто использовать, и здесь есть довольно много примеров кода, в том числе на этом форуме.

2 голосов
/ 17 марта 2011

Я являюсь автором Jintellitype, и он не был разработан для ввода мышью. Он имеет глобальный хук клавиатуры только с использованием Windows MFC API.

0 голосов
/ 24 декабря 2010

С http://melloware.com/products/jintellitype/index.html:

JIntellitype - это API-интерфейс Java для взаимодействия с командами Microsoft Intellitype, а также для регистрации глобальных горячих клавиш в вашем приложении Java.

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

Кроме того, я предполагаю, что ваша жалоба на JNI заключается в том, что вы не хотите писать код JNI, а не то, что вы даже не хотите его использовать, потому что я уверен JIntellitype использует JNI.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...