Applescript 激活关闭的窗口
Posted
技术标签:
【中文标题】Applescript 激活关闭的窗口【英文标题】:Applescript activate closed window 【发布时间】:2010-09-30 13:23:18 【问题描述】:我怎样才能激活一个应用程序并让它打开“标准”窗口,就好像我用applescript点击了停靠图标一样?
例如我在 iTunes 中,使用 command-w 打开另一个应用程序关闭窗口,然后单击 iTunes 停靠图标,iTunes 成为最前面的应用程序并打开它的“标准”iTunes 窗口。
当我想用 applescript 模拟时,我输入:
tell application iTunes to activate
然后发生的事情是,iTunes 成为最前面的应用程序,但“标准”窗口(在这种情况下为 iTunes 窗口)并未打开。
有谁知道用通用方法打开“标准”窗口的方法,适用于任何应用程序?
谢谢b00tsy
【问题讨论】:
【参考方案1】:很长一段时间后,我发现我期望发生的事情
tell application "anyApplication" activate
实际上发生在
tell application "anyApplication" reopen
【讨论】:
【参考方案2】:没有真正的、单一的方式来显示“标准”窗口。由每个应用程序的开发人员决定如何创建和显示窗口。例如,这里是 iTunes 和 Microsoft Word 2008...
tell application "iTunes"
activate
set theBrowser to browser window 1
set visible of theBrowser to true
end tell
tell application "Microsoft Word"
set newDocument to make new document
end tell
在 iTunes 中,有三个“标准”窗口——浏览器、均衡器和播放列表——并且浏览器和均衡器始终存在。但是,在 Microsoft Word 中,我们必须制作一个新文档,该文档尽可能接近“标准”。 大多数应用程序的工作方式与 Word 相同,但这不是保证,您必须查看给定应用程序的 Dictionary 以了解它如何处理窗口(尽管 iTunes 确实有一个 @ 987654322@ 类让所有人都失望,但那是你的 Applescript……)。
还有一点需要注意...在大多数情况下,一旦窗口关闭,重新打开它的唯一方法是打开填充您刚刚创建的窗口的文件,或者只是创建一个新窗口。 iTunes 在其实施中很少见。
【讨论】:
所以我猜应用程序开发人员在他/她的应用程序中选择当应用程序再次被取消隐藏时要做什么,并在某个方法中实现该行为,然后调用该方法...... 没错。 Applescript 的不稳定更多来自于个别开发者的实施以及缺乏来自 Apple 的指导。以上是关于Applescript 激活关闭的窗口的主要内容,如果未能解决你的问题,请参考以下文章
macOS-代码调用Terminal执行脚本或者杀死进程窗口