Wie kann ich den Einstellungsbereich von Box SimpleShare beim Starten der App ausblenden?

Wie kann ich den Einstellungsbereich von Box SimpleShare beim Starten der App ausblenden?

Ich habe dieBox SimpleShareApp wird beim Login gestartet, aber die App startet ihren Einstellungsbereich direkt nachdem sie ihr Symbol in der Menüleiste geladen hat. Wenn Sie sie so einstellen, dass sie im „versteckten“ Modus startet, Systemeinstellungen > Benutzer und Gruppen > Anmeldeobjekteändert dieses Verhalten nicht.

Ich habe versucht, ein AppleScript zu erstellen und als App zu speichern, um dasBox SimpleShareApp beim Anmelden und Ausblenden des Einstellungsbereichs, aber es funktioniert nicht wie erwartet.

set tApp to "Box SimpleShare"
tell application tApp to launch
tell application "System Events"
    set visible of process "Box SimpleShare" to false
end tell

Dadurch wird die App gestartet, aber dieBox SimpleShareEinstellungsbereich. Was wäre der richtige Code dafür?

Screenshot des Einstellungsfensters

Antwort1

Das Einstellungsfenster von Box ist besonders hartnäckig – es wird nicht nur bei jedem Start der Anwendung angezeigt, sondern öffnet sich auch erneut, wenn es geschlossen wird, bevor die App ihre Initialisierungssequenz abgeschlossen hat! Mit etwas GUI-Scripting kann es jedochIstmöglich, es loszuwerden. Der folgende Code startet die Anwendung, wartet, bis das Einstellungsfenster erscheint, und schließt es nach einer kurzen Verzögerung (damit es seine Initialisierungssequenz abschließen kann):

property timeOutMax : 5
property timeOutStep : 1
property boxLoadDelay : 2

set boxApp to "Box SimpleShare"
tell application boxApp to launch
set timeOutCounter to 0
tell application "System Events"
    tell process boxApp
        repeat while (window 1 of it exists) is false and timeOutCounter is less than timeOutMax
            delay timeOutStep
            set timeOutCounter to timeOutCounter + timeOutStep
        end repeat
        if window 1 of it exists then
            delay boxLoadDelay
            click (button 1 of window 1 of it)
        end if
    end tell
end tell

Wenn das Fenster auf Ihrem System erneut geöffnet wird, legen Sie einen höheren Wert für fest boxLoadDelay. Wenn das Skript vor dem Laden der Anwendung eine Zeitüberschreitung erfährt, passen Sie den Wert für an timeOutMax(und möglicherweise für timeOutStep, wenn Sie einen viel höheren Timeout-Schwellenwert auswählen müssen).

verwandte Informationen