Перехватывать и модифицировать события мыши, направленные на стороннее приложение? - PullRequest
1 голос
/ 04 октября 2011

Как я могу перехватывать и изменять события мыши (координаты х / у, ускорение и т. Д.) Через Java, прежде чем они достигнут стороннего приложения?

Приложение известно заранее (что-то вроде "JavamyApp 3rdPartyApp "возможно, если это поможет).Обратите внимание, что стороннее приложение может быть очень ресурсоемким.

Я предполагаю, что я спрашиваю, как я могу сделать приложение Java, которое служит слоем между реальными событиями мыши и третьимстороннее приложение, чтобы стороннее приложение получало измененные события, а не исходные, отправленные ОС?Это возможно даже с Java?

1 Ответ

2 голосов
/ 04 октября 2011

У вас есть 2 чистых решения Java.

Сначала вы можете подключиться к очереди событий AWT и получить все события пользовательского интерфейса: Toolkit.getDefaultToolkit().getSystemEventQueue() К сожалению, я не уверен, что вы можете изменить эти события, но вы можете прочитать их и смоделировать события.

Во-вторых, вы можете создать прозрачное окно поверх стороннего приложения, где вы можете перехватывать все события пользовательского интерфейса, а затем моделировать их, используя java.awt.Robot. Пожалуйста, смотрите здесь , как создать прозрачное окно. Я попробовал этот метод и вижу, что он работает хорошо.

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