2012-03-02 64 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