java.awt.Robot: как отправить события мыши / клавиатуры в определенное окно?с кроссплатформенной поддержкой? - PullRequest
1 голос
/ 26 ноября 2011

Итак, из этого вопроса В Java Swing как получить ссылку дескриптора окна Win32 (hwnd) на окно? кажется, что я могу получить дескриптор окна32.было бы возможно для java.awt.Robot отправлять события мыши / клавиатуры на этот дескриптор окна?

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

Можно ли было бы достичь того же соглашения в Mac и Linux?быть в состоянии отправлять события робота в соответствующие дескрипторы окон?

1 Ответ

0 голосов
/ 26 ноября 2011

Это классическая проблема с роботом. Как они цитировали в другой ветке, это невозможно с чистым AWT / Swing. Вы должны войти во внутренний API Sun или использовать нативный код. Эту проблему не обойти.

Именно из-за проблемы, с которой вы сталкиваетесь, т. Е. Заставляете ее работать в ОС, именно поэтому Java не предоставляет такой элемент управления.

Было бы полезно узнать, для чего вы это используете.

...