Soy nuevo en Applescript y MAC, aunque mi primera computadora fue una Apple II Plus y la programé en Apple Basic y Assembly.
Lo estoy usando para crear un botón de alarma "Silencioso".
Tenemos un sistema implementado que, a través de una llamada de URL, enviará un mensaje a un grupo selecto de computadoras, en este caso, las que utilizan nuestros oficiales de seguridad.
Escribí una similar para PC usando el lenguaje de scripting AutoIT. Cuando alguien hace clic en este programa, en lo que respecta a cualquiera que esté mirando la pantalla, no sucede nada. Es 100% silencioso. Pero sin ser visto por nadie que mira la pantalla de la PC, IE se lanzó minimizado y oculto, se abre una cadena de URL personalizada, con un mensaje incrustado, y luego se cierra IE. Las computadoras de los oficiales de seguridad reciben un mensaje del sistema de mensajes, Informacast y la seguridad responden en consecuencia. En ningún momento nadie está viendo la pantalla de la PC consciente de que algo ha sucedido. Todo es "silencioso". Al igual que una alarma silenciosa en un banco.
La versión de Mi MAC, escrita en Applescript, funciona bien, excepto que la llamada a Safari se puede ver en la pantalla cuando tiene lugar. Solo está ahí durante unos segundos a medida que se carga la URL, y luego se cierra la ventana de Safari, pero esos pocos segundos son unos pocos segundos y cualquiera que esté mirando la pantalla sabrá que algo sucedió cuando se presionó la alarma. Necesito evitar que se muestre algo cuando se inicie Safari. Necesito hacerlo "silencioso".
La parte del script que abre Safari y carga la URL se muestra a continuación ...
tell application "Safari"
launch
open location AlertURLString (This is the variable that has the URL and embedded message in it)
delay 1
close window 1
end tell
He intentado colocar la siguiente línea en la rutina "Avisar" en varios lugares, antes de "iniciar" después de "iniciar" antes de "abrir ubicación" y después de etc., pero todavía veo una señal de la ventana de Safari mientras se carga la cadena de URL.
set miniaturized of window 1 to true
También jugué un poco con las variaciones de la siguiente línea, pero recibí un error Applescript cada vez.
tell application "System Events" to set process "Safari" to false
Una cosa más, es posible que Safari o algún otro programa pueda estar abierto, tal vez no en pantalla completa, etc. cuando se ejecute este script y es importante que no se cierre ni se modifique de ninguna manera que induzca a alguien en al hecho de que algo estaba sucediendo en el sistema después de presionar el "Botón de alerta". La línea "set miniaturizada", dependiendo de cómo se usó, minimizaría la ventana que, por supuesto, no queremos.
Una vez más, lo que necesito es poder lanzar la URL 10000% en silencio.
Gracias de antemano a todos los que pueden intentar ayudar,
Ralph