2011-06-24 67 views
1

在SIMBL Agent的源代碼中,有幾個代碼將Apple事件發送到目標應用程序。這就像:關於SIMBL實現的問題

[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插件這個觸發後。這似乎是一種非常冒險的方式,並且很難從官方文檔中獲得幫助。

任何人都知道嗎?謝謝!

回答

1

我知道現在發生了什麼。 SIMBL使用蘋果事件(類:kASAppleScriptSuite,類型:kGetAEUT),強制應用程序加載腳本,另外還有一個預定義的Apple Script Handler來加載SIMBL目錄中的插件,因此SIMBL發送2個Apple事件來完成,當應用程序啓動時。