Используйте AutoIt с Java-приложениями - PullRequest
1 голос
/ 13 марта 2011

Авто, кажется, перестает работать, когда фокус дается на Java-приложение.

Для этого кода:

MouseMove(61, 121, 10);
WinActivate("Main @ paperMoney [build 1800.20]");
MsgBox(0, "got it", "got it");

Результаты -> Движения мыши, приложение java получает фокус и появляется сообщение

Для этого кода:

WinActivate("Main @ paperMoney [build 1800.20]");
MouseMove(61, 121, 10);
MsgBox(0, "got it", "got it");

Результаты -> java-приложение получает фокус, мышь НЕ перемещается и появляется сообщение.

Могу ли я что-нибудь сделать, чтобы команды мыши и клавиатуры работали после фокусировки java-приложения?

Ответы [ 3 ]

3 голосов
/ 14 марта 2011

Учитывая, что делает paperMoney, он, вероятно, намеренно сопротивляется автоматизации.Особенно, когда окно активировано, оно подключается к событиям мыши низкого уровня и проверяет все движения аппаратной мыши с помощью фактического движения.Используя это, он предотвратит любые движения мыши.Можете ли вы использовать Отправить для ввода ключей в окне?

0 голосов
/ 02 октября 2012

Мое решение было протестировано для AutoHotkey, но я считаю, что это должно работать и для AutoIt.Я запустил скрипт с правами администратора, поскольку TOS запускается как администратор, и после этого мои скрипты работают нормально.

0 голосов
/ 21 марта 2011

Я хотел сделать то же самое. Манданар, вероятно, прав. Я также попробовал Autohotkey безуспешно. Возможно, TOS глубоко запрещает их применение. :( Бу!

EDIT:
Некоторое время от времени я обнаружил, что TOS в Mac OSX можно контролировать с помощью сценариев Keyboard Maestro . Это уродливое, взломанное решение, но оно работает. Вы можете редактировать текстовые поля и щелкать вещи, если вы знаете положение элементов X, Y.

Клавиатура Maestro может быть запущена через скрипты (AppleScript, Python и т. Д.), Поэтому, возможно, вы сможете создать какой-нибудь сложный rube goldberg.

Удачной торговли!

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