AutoHotKey с лучшей осведомленностью сна

Я знаю о AutoHotKey, и я знаю о AutoScriptWriter, но моя проблема сводится к синхронизации.

Я пытаюсь воспроизвести ввод данных пользователем в приложение, но приложение иногда имеет время загрузки для некоторых функций, другие времена, которые это не делает, в основном я должен сделать, чтобы устройство записи сценария знало, что, если я не требую у кнопки мыши в течение 5 секунд, писатель сценария помещает Сон в сценарий в течение 5 секунд, но если я ожидаю 10 секунд, это вставляет Сон в сценарии на 10 секунд и так далее. Прямо сейчас AutoScriptWriter вставляет Сон 100 как значение по умолчанию, которое слишком коротко, и я не хочу проходить сценарий вручную после опеки, пытающейся помнить, как ли этот щелчок, предполагалось, ожидал 5 или 10 секунд или имел просто маленький сон.

Спасибо все.

1
задан 29.03.2011, 02:53

2 ответа

попробуйте WinWaitActive, WindowTitleHere

.... действия здесь

Затем это не запустит действие, пока приложение не будет на самом деле загружено и активно.

На самом деле AutoScriptWriter обычно добавляет команду WinWaitActive.

0
ответ дан 24.11.2019, 00:57

Вот идея для обходного решения:

  • присвойте долгому ожиданию "пустое" нажатие клавиши без побочных эффектов
  • при записи макроса добавьте нажатие клавиши, где Вам нужна длинная пауза
  • после того как у Вас есть макро-сценарий, сделайте нахождение/заменение на нажатии клавиши и замените его инструкцией для долгого ожидания, такой как Sleep 5000

"Пустым" я имею в виду нажатие клавиши без побочных эффектов и никакое влияние на рабочую область Вас макрос. Если бы это должно было изменить выбранный пункт меню или расположение вкладки или иметь какие-либо другие побочные эффекты, то нахождение/заменение той строки могло бы сделать сценарий неприменимым. Если Вы испытываете затруднения при нахождении единственного нажатия клавиши (как Alt-p или безотносительно) Вы могли также использовать последовательность, которая делает действие со вторым нажатием клавиши, которое отменяет его, такие как ввод a сопровождаемый клавишей Backspace.

Если у Вас есть несколько различных длин пауз, Вы могли бы использовать несколько различных нажатий клавиш в течение различных продолжительностей ожидания. Просто сделайте нахождение/заменение на каждом отдельно.

0
ответ дан 24.11.2019, 00:57

Теги

Похожие вопросы