2

私のアプリは、AppleScript を使用して、ユーザーのホット キーに応じて iChat のステータスを変更します。すべてうまくいっていますが、iChat が実行されていない場合は、"iChatAgent" が実行されており、そのアイコンがステータス バーに表示されます。Dock に iChat のアイコンがありません。

この場合、アプリが AppleScript コマンドを送信して iChat ステータスを変更すると ( tell application "iChat" set status blah-blah...)、iChat が自動的にアクティブになり、iChat のアイコンが Dock に表示されます。iChat をアクティベートしたくありません。Dock を変更する必要はありません。しかし、iChat が実行されていないときに、iChat のステータスを変更する必要があります。

iChatAgent に申請してステータスを変更するにはどうすればよいですか? それはまったく可能ですか?

4

1 に答える 1

1

iChatAgentは、iChat本体が実行されていないときにiChat5によって使用されるバックグラウンドメッセージングアプリケーションです。FaceTimeがインストールされたSnowLeopard、およびLionでは、IMAgentに置き換えられました(確証については、このAppleサポートコミュニティのディスカッションスレッド/System/Library/PrivateFrameworks/IMCore.framework/imagent.app/を参照してください)。

エージェントはAppleScriptに対応していないため、AppleScript Editorディクショナリパネルに追加してみることで、自分で確認できます。アプリケーションがスクリプトに対応していないことを示すエラーが表示されます。つまり、スクリプトはiChat自体のみをターゲットにでき、ひいては、アプリケーションの起動をバイパスすることはできません(これは、iChatのスクリプトプラグインにも当てはまります。アプリケーションの実行時にのみトリガーされます)。

TL; DR: iChat.appを起動せずにAppleScriptを介してiChatステータスを設定することはできません

于 2012-04-05T12:37:00.623 に答える