![如何在应用程序启动时隐藏 Box SimpleShare 偏好设置窗格?](https://linux22.com/image/1314014/%E5%A6%82%E4%BD%95%E5%9C%A8%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E5%90%AF%E5%8A%A8%E6%97%B6%E9%9A%90%E8%97%8F%20Box%20SimpleShare%20%E5%81%8F%E5%A5%BD%E8%AE%BE%E7%BD%AE%E7%AA%97%E6%A0%BC%EF%BC%9F.png)
我已经设置了Box 简单共享应用程序在登录时启动,但应用程序在菜单栏中加载其图标后立即启动其偏好设置窗格。将其设置为在“隐藏”模式下启动 系统偏好设置 > 用户与组 > 登录项不会改变该行为。
我尝试创建一个 AppleScript,并将其保存为应用程序,以启动Box 简单共享应用程序在登录时隐藏首选项窗格,但它不能按预期工作。
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 简单共享偏好设置窗格。执行此操作的正确代码是什么?
答案1
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
如果您必须选择更高的超时阈值,则可能要调整 的值)。