0

Safariが起動されるたびに、Macアプリに何かをさせようとしています。Safari の起動を検出する明白な方法は、実行中のプロセスをポーリングすることです。これを行うより良い方法はありますか?

コールバックを登録するために使用できる API があるかもしれない、または監視できる通知センター イベントがあるかもしれないと考えていました。

4

2 に答える 2

3

NSWorkspaceのオブザーバーとして、の通知センターに自分を追加できますNSWorkspaceDidLaunchApplicationNotification。通知を受け取ったら、そのインスタンスがNSRunningApplication提供するもの(キーの通知のuserInfo内のオブジェクトNSWorkspaceApplicationKey)を調べて、起動されたのがSafariであるかどうかを判断します。

于 2012-04-09T19:20:40.993 に答える
1

NSDistributedNotificationCenterクラスとNSWorkspaceクラスを確認してください。

次の投稿が役立つかもしれません:Mac OS Xでアプリケーション起動イベントをリッスンする方法は?

于 2012-04-09T19:25:42.350 に答える