Sono nuovo su Applescript e MAC anche se il mio primo computer era un Apple II Plus e ho programmato in Apple Basic e Assembly.
Lo sto usando per creare un pulsante di allarme "Silent".
Abbiamo un sistema in atto che tramite una chiamata URL invierà un messaggio a un gruppo selezionato di computer, in questo caso quelli utilizzati dai nostri responsabili della sicurezza.
Ho scritto uno simile per PC usando il linguaggio di scripting AutoIT. Quando qualcuno fa clic su questo programma, per quanto riguarda chiunque guardi lo schermo, non succede nulla. È silenzioso al 100%. Ma non visto da nessuno che guarda lo schermo del PC, IE è stato lanciato minimizzato e nascosto, una stringa URL personalizzata, con un messaggio incorporato, viene aperta e quindi IE viene chiuso. I computer dei responsabili della sicurezza ricevono un messaggio dal sistema di messaggi, Informacast, e la sicurezza risponde di conseguenza. In nessun momento qualcuno sta guardando lo schermo del PC consapevole che è successo qualcosa. È tutto "silenzioso". Proprio come un allarme silenzioso in una banca.
La mia versione MAC, scritta in Applescript, funziona bene, tranne per il fatto che la chiamata a Safari può essere vista sullo schermo quando viene eseguita. È lì solo per pochi secondi quando viene caricato l'URL, quindi la finestra di Safari è chiusa, ma pochi secondi sono pochi secondi e chiunque guardi lo schermo saprà che qualcosa è successo quando è stato premuto l'allarme. Devo impedire che qualcosa venga mostrato all'avvio di Safari. Devo renderlo "Silent".
La parte dello script che apre Safari e carica l'URL è mostrata sotto ...
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
Ho provato a mettere la seguente riga nella routine "Tell" in vari punti, prima di "lanciare" dopo "avvio" prima di "posizione aperta" e dopo ecc., ma vedo ancora un bip della finestra di Safari mentre carica la stringa dell'URL.
set miniaturized of window 1 to true
Ho anche giocato con le varianti della riga seguente, ma ho ottenuto un errore di Applescript ogni volta.
tell application "System Events" to set process "Safari" to false
Un'ultima cosa, è possibile che Safari o qualche altro programma possano essere aperti, magari non a schermo intero ecc. quando viene eseguito questo script ed è importante che non venga chiuso o modificato in alcun modo che possa indovinare qualcuno in al fatto che qualcosa stava accadendo sul sistema dopo che è stato premuto il "Pulsante di avviso". La linea "set miniaturized" a seconda di come veniva usata minimizzerebbe la finestra che ovviamente non vogliamo.
Di nuovo ho bisogno di essere in grado di lanciare l'URL al 10000% in modo silenzioso.
Grazie in anticipo a tutti coloro che sono in grado di provare e aiutare,
Ralph