1

Я не уверен, что сценарий Apple - это то, что мне нужно, но он, кажется, делает большую часть того, что мне нужно. Не стесняйтесь предлагать альтернативы.

Мне нужно отправить персонажа в программу в точное время, чтобы начать отсчет видео. У меня есть сценарий Apple

tell application "ProPresenter 5"
    activate
end tell
tell application "System Events"
    keystroke "z"
end tell

Что мне нужно, так это уметь начать это, скажем, 10:40:25 один день, а затем 10:40:15 на следующий день. Все руководства, которые я вижу, включают календарь или автомат, но они имеют разрешение в 1 минуту. Мне также нужно только настроить его примерно за 20 минут

Если это имеет значение, я нахожусь на OS X 10.8.5

2 ответа2

1

Вот кое-что, что я настроил для вас, в котором будет отображаться диалог с просьбой ввести время, чтобы системные события отправляли нажатие клавиш. Вы можете сохранить этот скрипт как приложение и запускать его в любое время. Другой вариант - удалить первые две строчки кода и заменить его следующим свойством … property requested_time : "10:40:25 AM” . Затем вы можете просто добавить скрипт в событие iCal, чтобы запускать его каждый день в любое время по вашему выбору.

set requested_time to display dialog "Please Enter Your Start Time With The Following Format: Hour:Minutes:Seconds" default answer "10:40:25 AM" buttons {"OK"} default button 1
set requested_time to text returned of requested_time
set theTime to time string of (current date)

tell application "ProPresenter 5" to launch -- Opens The App Without Bringing It Up Upfront. Added This Line To Make Sure Your Application Is Running When System Events Sends The Keystroke.  You Can Always Remove This Line If You Prefer

repeat until theTime is greater than or equal to requested_time -- Added The "Greater Than" Just As A Failsafe
    delay 1
    set theTime to time string of (current date)
end repeat

tell application "ProPresenter 5" to activate
delay .5 -- My system did not need this delay.  Yours may not either, but I added it just in case.  
tell application "System Events"
    keystroke "z"
end tell

Или вы можете сохранить эту версию скрипта как приложение.

property requested_time : "10:40:25 AM”
set theTime to time string of (current date)

tell application "ProPresenter 5" to launch -- Opens The App Without Bringing It Up Upfront. Added This Line To Make Sure Your Application Is Running When System Events Sends The Keystroke.  You Can Always Remove This Line If You Prefer

repeat until theTime is greater than or equal to requested_time -- Added The "Greater Than" Just As A Failsafe
    delay 1
    set theTime to time string of (current date)
end repeat

tell application "ProPresenter 5" to activate
delay .5 -- My system did not need this delay.  Yours may not either, but I added it just in case.  
tell application "System Events"
    keystroke "z"
end tell

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

-1

Вы можете просто использовать команду delay AppleScript, чтобы задержать выполнение скрипта в точную минуту на сколько секунд.

Для вашего примера: если вы хотите, чтобы он выполнялся в 10:40:25 ... установите сценарий для выполнения в 10:40:00, но поместите задержку команды delay 25 в первую строку.

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