2011-04-26 34 views
2

我在想如何编写没有字典的应用程序。我找到的所有信息都没有告诉我什么。但我的经验告诉我,有一种方法。 例如:AppleScript和非脚本应用程序

tell application "Firefox" 
    return count of windows 
end tell 

将工作。它将与“歌剧”和其他没有字典的应用程序一起工作。所以问题是: 1)为什么它的工作? 2)还有什么用这种方式工作?是否有所有这些行动的清单?

提前致谢!

回答

8

您可以到没有AppleScript字典一定程度上的脚本应用程序使用“告诉应用程序‘系统事件’”

tell application "Keynote" activate 
tell application "System Events" to keystroke "c" using {command down} 
end tell 
end tell 

本示例激活主题,然后将当前的选择。您可以在许多应用程序中使用类似的代码,即使它们没有applescript字典,前提是您还拥有“通用访问”系统首选项中的“启用对辅助设备的访问”选项。

编辑:

这份文件给出了可可如何提供在所有的应用程序Applscript一些支持的一些细节: http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/ScriptableCocoaApplications/SApps_about_apps/SAppsAboutApps.html

在内置支持标准和文本套房标题

+0

我知道。但我的例子不使用通用访问和GUI脚本。所以它使用了其他一些我试图找到的东西。我的Mac – ixSci 2011-04-26 15:52:45

+0

链接上的通用访问被禁用,编辑后的链接看起来很合适。谢谢! – ixSci 2011-04-26 16:06:36

3

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

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

正如伊恩已经写道,为了做更多这样的应用程序,您可以使用所谓的UI脚本通过System Events。 这个nice website是一个很好的开始。