实施
不平凡的
苹果事件支持是一个正确的PITA;因此,如果你必须从头开始在C/C++中实现(CocoaScripting.framework是非可可应用程序的非启动者,任何第三方框架都将是过时的)。现在我甚至不想尝试:AppleScript正在消亡,JXA已经消亡,而苹果对其未来Mac自动化的计划(如果有的话)保持沉默。这可能会改变,如果/当快捷方式来到macOS,但这不会发生在10.15之前。
真正地
基本自动化支持(即没有“对象模型”,只是简单的命令,如
play FILE
convert FILE
)而且该应用程序与macOS事件循环配合得很好,安装Apple事件处理程序并通过旧的C Apple事件管理器API解包和打包简单的参数和结果(数字、字符串)并不是非常困难(尽管仍然非常乏味)。它不会很“AppleScript”,但至少它是可以实现的。或者,如果应用程序已经有了自己的内置(例如JavaScript)脚本支持,则实现
do script CODE [with parameters {ARG1,ARG2,â¦}]
至于文档和示例代码,请搜索
AEInstallEventHandler
看看会发生什么。不会很好,但那是最好的。准备好为自己解决很多问题。