
Não tenho certeza se o script da Apple é o que preciso, mas parece fazer a maior parte do que preciso. Sinta-se à vontade para oferecer alternativas.
Preciso enviar um personagem para um programa no horário exato para iniciar um vídeo de contagem regressiva. O script da Apple que tenho é
tell application "ProPresenter 5"
activate
end tell
tell application "System Events"
keystroke "z"
end tell
O que eu preciso é poder começar, digamos, às 10:40:25 de um dia e depois às 10:40:15 do dia seguinte. Todos os guias que vejo envolvem o calendário ou o automatizador, mas esses têm resolução de 1 minuto. Eu também só preciso configurá-lo com cerca de 20 minutos de antecedência
Se for importante, estou no os x 10.8.5
Responder1
Aqui está uma coisinha que configurei para você, que exibirá uma caixa de diálogo solicitando que você insira a hora para que os eventos do sistema enviem o pressionamento de tecla. Você pode salvar este script como um aplicativo e executá-lo quando quiser. Outra opção seria remover as duas primeiras linhas do código e substituí-lo por isto… property requested_time : "10:40:25 AM”
. Depois, você pode simplesmente adicionar o script a um evento do iCal para iniciar todos os dias, a qualquer hora que você escolher.
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
Ou você pode salvar esta versão do script como um aplicativo.
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
Então você pode criar um novo evento de calendário para repetir diariamente e, 20 minutos antes, o script que você salvou como um aplicativo será iniciado
Responder2
Você pode simplesmente usar o delay
comando AppleScript para atrasar a execução do script no minuto exato em quantos segundos.
Pelo seu exemplo: se você deseja que ele seja executado às 10:40:25 ... configure seu script para ser executado às 10:40:00, mas coloque o comando delay 25
na primeira linha.