在SIMBL Agent的源代码中,有几个代码将Apple事件发送到目标应用程序。就像:
[app setSendMode:kAEWaitReply | kAENeverInteract | kAEDontRecord];
id initReply = [app sendEvent:kASAppleScriptSuite id:kGetAEUT parameters:0];
和
[app setSendMode:kAENoReply | kAENeverInteract | kAEDontRecord];
id injectReply = [app sendEvent:'SIMe' id:eventID parameters:0];
我不知道为什么目标应用会在此触发后加载SIMBL插件。这样做似乎是一种非常黑客的方式,很难从官方文件中获得帮助。
答案 0 :(得分:1)
我知道现在发生了什么。 SIMBL使用Apple Event(类:kASAppleScriptSuite,类型:kGetAEUT),强制应用程序加载脚本添加。添加有一个预定义的Apple Script Handler来加载SIMBL目录中的插件。所以SIMBL发送2个Apple事件来做,当应用程序启动时。