AppleScript和不可编写脚本的应用程序

时间:2011-04-26 15:33:35

标签: applescript

我想知道如何编写没有字典的应用程序脚本。我发现的所有信息都没有告诉我什么。但我的经验告诉我,有一种方法。 例如:

tell application "Firefox"
    return count of windows
end tell

会工作吗?它将与“Opera”和其他没有字典的应用程序一起使用。所以问题是: 1)为什么它有效? 2)还有什么方法可以这样做?是否有所有此类行为的清单?

提前感谢!

2 个答案:

答案 0 :(得分:8)

通过使用“tell application”系统事件“'

,您可以在某种程度上编写没有Applecript字典的脚本应用程序
tell application "Keynote" activate 
tell application "System Events" to keystroke "c" using {command down} 
end tell
end tell

此示例激活Keynote,然后复制当前选择。您可以在许多应用程序中使用类似的代码,即使它们没有AppleScript字典,前提是您还可以在“Universal Access”系统首选项中选中“启用辅助设备访问”选项。

修改

本文档提供了Cocoa如何在所有应用程序中为Applscript提供一些支持的一些细节: http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ScriptableCocoaApplications/SApps_about_apps/SAppsAboutApps.html

标题和文字套件的内置支持标题下

答案 1 :(得分:3)

可以打开FireFox的脚本字典。只需打开AppleScript编辑器并转到文件→显示字典,然后从列表中选择FireFox。

它只显示了一本非常简陋的字典。会发生什么是系统库至少为任何Carbon或Cocoa应用程序提供了一组基本命令(称为标准套件)。这包含您使用的window的定义。

正如Ian已经写过的,为了使用这样的应用程序做更多事情,您可以通过System Events使用所谓的 UI脚本。 这个nice website是一个很好的起点。