2012-03-02 25 views
2

我的應用程序改變根據用戶的熱鍵在iChat狀態,使用AppleScript。一切順利,但在iChat未運行的情況下,我有一個「iChatAgent」正在運行,圖標在狀態欄中;我的Dock中沒有iChat的圖標。在iChat將狀態設置由iChatAgent編程

所以在這種情況下,如果我的應用程序發送AppleScript命令來更改iChat狀態(tell application "iChat" set status blah-blah...),它會自動激活iChat並在Dock中顯示iChat圖標。我不想激活iChat。我不需要對Dock進行任何更改。但是我需要改變iChat運行不正常時的狀態。

我怎樣才能做到這一點通過我的應用程序iChatAgent更改狀態?有沒有可能?

回答

1

iChatAgent是iChat 5在iChat正常運行時未使用的後臺消息應用程序。雪豹與FaceTime安裝,並在獅子,它已被IMAgent/System/Library/PrivateFrameworks/IMCore.framework/imagent.app/ - 見this Apple Support Communities discussion thread爲佐證)取代。

試劑不AppleScript的能力,您可以通過自己的努力來添加一個到的AppleScript編輯字典面板檢查:你會得到指示應用程序中的錯誤是不編寫腳本。這意味着腳本只能針對iChat本身,並且擴展而言,當您這樣做時,您無法繞開應用程序啓動(這也適用於iChat中的腳本插件 - 它們僅在應用程序運行時纔會觸發)。

TL; DR:你可以不設置通過AppleScript的iChat狀態,而無需啓動iChat.app

+0

我是這麼認爲的...感謝你確認我的假設!很好的答案! – mischa 2012-04-05 14:55:10