Was ist der Unterschied zwischen "Aktivieren" und "Starten"?

8

Hier ist ein Beispiel für Applescript-Code:

do shell script "osascript -e 'tell application \"Safari\" to activate'"

do shell script "osascript -e 'tell application \"Safari\" to launch'"

Gibt es einen Unterschied im Verhalten dieser beiden Befehle?

Denn für meine Augen scheint es, dass sie genau den gleichen Effekt erzielen.

Rubiks Kugel
quelle

Antworten:

8

Von der Befehlsreferenz Abschnitt des Apple Language Guide :

activate Bringt eine Anwendung nach vorne und startet sie bei Bedarf.

launchStartet eine Anwendung, wenn sie noch nicht ausgeführt wird, sendet ihr jedoch keinen Ausführungsbefehl .

Wenn eine Anwendung bereits ausgeführt wird, hat das Senden eines Startbefehls keine Auswirkung. Auf diese Weise können Sie eine Anwendung öffnen, ohne die üblichen Startvorgänge ausführen zu müssen, z. B. ein neues Fenster öffnen oder im Fall einer Skriptanwendung das Skript ausführen. Sie können beispielsweise den Startbefehl verwenden, wenn eine Anwendung nicht sichtbar geöffnet und geschlossen werden soll. Dies ist in AppleScript 2.0 weniger nützlich, da Anwendungen standardmäßig als ausgeblendet gestartet werden (auch mit dem Befehl run).

user3439894
quelle