Я пишу приложение, которое управляет другим приложением, используя только клавиатуру. Более конкретно, приложение имитирует нажатия клавиш и щелчки мыши при нажатии определенной клавиши на клавиатуре. Например, нажатие на клавишу «x» имитирует щелчок мышью по [X] в правом углу rop, после чего следует небольшой сон в течение 2 секунд и «enter» для подтверждения диалога выхода. Довольно легко. Я разрабатываю это приложение на Java.
Посылка нажатия клавиши или щелчка мышью очень проста с java.awt.Robot. Я столкнулся с одной маленькой проблемой. Скажем, я настроил ключ, который будет нажимать где-то на экране. Проблема в том, что последовательные нажатия клавиш больше не перехватываются, так как мое приложение потеряло фокус, вызванный щелчком мыши за пределами его окна.
Мой вопрос сейчас таков: как лучше всего убедиться, что мое основное приложение сохраняет фокус? Есть ли способ снова сфокусировать мое приложение после отправки нажатий клавиш и щелчков мышью? Есть ли лучший способ?
Заранее спасибо.