1

Я установил приложение Box SimpleShare для запуска при входе в систему, но приложение запускает свою панель настроек сразу после загрузки значка в строке меню. Настройка его запуска в «скрытом» режиме в Системных настройках> Пользователи и группы> Элементы входа не меняет это поведение.

Я попытался создать AppleScript, сохраненный как приложение, чтобы запустить приложение Box SimpleShare при входе в систему и скрыть панель настроек, но она не работает должным образом .

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

Это запускает приложение, но не закрывает панель настроек Box SimpleShare . Какой будет правильный код для этого?

Скриншот окна настроек

1 ответ1

0

Окно настроек Box является особенно постоянным - оно не только настаивает на отображении при каждом запуске приложения, оно будет вновь открываться, если оно закрыто до того, как приложение завершит свою последовательность инициализации! Тем не менее, с некоторыми GUI сценариев, можно избавиться от него. Следующий код запустит приложение, дождется всплывающего окна настроек и закроет его после небольшой задержки (чтобы оно могло завершить последовательность инициализации):

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

Если окно снова открывается в вашей системе, установите более высокое значение для boxLoadDelay . Кроме того, если время ожидания скрипта истекло до загрузки приложения, настройте значение для timeOutMax (и, возможно, для timeOutStep если вам нужно выбрать гораздо более высокий порог тайм-аута).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .