我想知道如何编写没有字典的应用程序脚本。我发现的所有信息都没有告诉我什么。但我的经验告诉我,有一种方法。 例如:
tell application "Firefox"
return count of windows
end tell
会工作吗?它将与“Opera”和其他没有字典的应用程序一起使用。所以问题是: 1)为什么它有效? 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是一个很好的起点。