Soy nuevo en Applescript y MACs aunque mi primer ordenador fue un Apple II Plus y programé en Apple Basic y Assembly.
Lo estoy utilizando para crear un botón de alarma "silenciosa".
Disponemos de un sistema que, a través de una llamada URL, envía un mensaje a un grupo selecto de ordenadores, en este caso los utilizados por nuestros agentes de seguridad.
Escribí uno similar para PC utilizando el lenguaje de scripting AutoIT. Cuando alguien hace clic en este programa, en lo que respecta a cualquier persona que vea la pantalla, no pasa nada. Es 100% silencioso. Pero sin que lo vea nadie que esté mirando la pantalla del PC, se lanza IE minimizado y oculto, se abre una cadena de URL personalizada, con un mensaje incrustado, y luego se cierra IE. Los ordenadores de los agentes de seguridad reciben un mensaje del sistema de mensajes, Informacast, y la seguridad responde en consecuencia. En ningún momento nadie de los que observan la pantalla del PC se da cuenta de que ha ocurrido algo. Todo es "silencioso". Igual que una alarma silenciosa en un banco.
Mi versión para MAC, escrita en Applescript funciona bien, excepto que la llamada a Safari se puede ver en la pantalla cuando se produce. Sólo está ahí durante unos segundos mientras se carga la URL, y luego se cierra la ventana de Safari, pero esos pocos segundos son demasiado y cualquiera que observe la pantalla sabrá que ha pasado algo cuando se ha pulsado 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 probado a colocar la siguiente línea en la rutina "Tell" en varios lugares, antes de "launch", después de "launch", antes de "open location" y después, etc., pero sigo viendo un parpadeo de la ventana de Safari mientras carga la cadena URL.
set miniaturized of window 1 to true
También he jugado con variaciones de la siguiente línea, pero cada vez obtenía un error de Applescript.
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 a pantalla completa, etc. cuando se ejecute este script y es importante que no se cierre o cambie de ninguna manera que pueda dar una pista a alguien de que algo está sucediendo en el sistema después de que se pulse el "Botón de Alerta". La línea "set miniaturized", dependiendo de cómo se use, minimizaría la ventana, lo que por supuesto no queremos.
De nuevo lo que necesito es poder lanzar la URL 10000% en silencio.
Gracias de antemano a todos los que puedan intentar ayudar,
Ralph