1

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

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

Спасибо всем.

2 ответа2

0

Вот идея для обхода проблемы:

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

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

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

0

попробуй WinWaitActive, WindowTitleHere

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .