0 votos

Ayuda de Apple script: ¿cómo le digo a OS X que no inicie una aplicación específica durante un período de tiempo determinado?

¿Cómo puedo hacer un Apple script (o algo similar) que le diga a OS X "no lanzar/ejecutar ( n ) de ( x1 ) a ( x2 ) tiempo?"

Gracias.

1voto

SPRBRN Puntos 1008

¿Qué le parece lo siguiente? Se puede utilizar como un lanzador de aplicaciones. No impide al usuario de lanzar la app pero para un niño debería servir. También podrías convertirlo fácilmente en un script de fondo para monitorizar continuamente la aplicación deseada y matarla una vez que el uso supere el bloque de tiempo permitido.

Espero que haya servido de algo.

# The times to check. Use HH:MM:SS 24HR format or AM/PM
set sTime to "19:00:00" # 7PM
set eTime to "20:00:00" # 8PM

# Get just the date from shell; quicker
set tDate to getShortDate()

# Setup Date & Time vars for start and end
set sDateTime to tDate & " " & (sTime)
set eDateTime to tDate & " " & (eTime)

# Convert dates to Epoch
set sEpoch to toEpoch(sDateTime)
set eEpoch to toEpoch(eDateTime)

set epochNow to getEpoch()

if epochNow > sEpoch and epochNow < eEpoch then
    tell application "Finder" to set tProcesses to name of processes
    if (tProcesses contains "Firefox") then
        display dialog "Firefox is currently banned"
        #Kill Firefox app
    end if
else
    #log "Launching Firefox..."
    activate application "Firefox"
end if

on getEpoch()
    return do shell script "date \"+%s\""
end getEpoch

on toEpoch(aDateTime)
    return do shell script "date -j -f '%Y-%m-%d %T' '" & aDateTime & "' +'%s'"
end toEpoch

on getShortDate()
    return do shell script "date \"+%Y-%m-%d\""
end getShortDate

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X