通过iChatAgent以编程方式在iChat中设置状态

时间:2012-03-02 15:56:53

标签: applescript ichat

我的应用程序根据用户的热键使用AppleScript更改iChat中的状态。一切顺利,但在iChat没有运行的情况下,我运行了“iChatAgent”,状态栏中有图标;我的Dock里没有iChat的图标。

因此,在这种情况下,如果我的应用程序发送AppleScript命令来更改iChat状态(tell application "iChat" set status blah-blah...),它会自动激活iChat并在Dock中显示iChat图标。我不想激活iChat。我的Dock中不需要任何更改。但我需要在iChat运行时更改状态。

我如何通过iChatAgent的应用程序更改状态来执行此操作?它有可能吗?

1 个答案:

答案 0 :(得分:1)

iChatAgent 是iChat 5未运行时iChat 5使用的后台消息应用程序。在安装了FaceTime的Snow Leopard上,在Lion上,它已被 IMAgent /System/Library/PrivateFrameworks/IMCore.framework/imagent.app/ - 取决于this Apple Support Communities discussion thread进行验证)取代。

代理程序不支持AppleScript,您可以通过尝试将其添加到AppleScript编辑器词典面板来自行检查:您将收到错误消息,指示应用程序不可编写脚本。这意味着脚本只能以iChat本身为目标,并且通过扩展,您无法绕过应用程序启动(这也适用于iChat中的脚本插件 - 它们仅在应用程序运行时触发)。

TL; DR:如果不启动iChat.app,则无法通过AppleScript设置iChat状态