0

每当启动 Safari 时,我都试图让我的 mac 应用程序执行某些操作。检测 Safari 启动的明显方法是轮询正在运行的进程。有一个更好的方法吗?

我在想可能有一些 API 可以用来注册回调,或者可能有一个我可以观察到的通知中心事件。

4

2 回答 2

3

您可以将自己添加到NSWorkspace的通知中心作为NSWorkspaceDidLaunchApplicationNotification. 当您收到通知时,检查NSRunningApplication它提供的实例(通知的 userInfo 中的对象 key NSWorkspaceApplicationKey)以确定它是否是 Safari 启动的。

于 2012-04-09T19:20:40.993 回答
1

检查NSDistributedNotificationCenterNSWorkspace类。

以下帖子可能会有所帮助:如何在 Mac OS X 中侦听应用程序启动事件?

于 2012-04-09T19:25:42.350 回答