每当启动 Safari 时,我都试图让我的 mac 应用程序执行某些操作。检测 Safari 启动的明显方法是轮询正在运行的进程。有一个更好的方法吗?
我在想可能有一些 API 可以用来注册回调,或者可能有一个我可以观察到的通知中心事件。
每当启动 Safari 时,我都试图让我的 mac 应用程序执行某些操作。检测 Safari 启动的明显方法是轮询正在运行的进程。有一个更好的方法吗?
我在想可能有一些 API 可以用来注册回调,或者可能有一个我可以观察到的通知中心事件。
您可以将自己添加到NSWorkspace
的通知中心作为NSWorkspaceDidLaunchApplicationNotification
. 当您收到通知时,检查NSRunningApplication
它提供的实例(通知的 userInfo 中的对象 key NSWorkspaceApplicationKey
)以确定它是否是 Safari 启动的。
检查NSDistributedNotificationCenter和NSWorkspace类。
以下帖子可能会有所帮助:如何在 Mac OS X 中侦听应用程序启动事件?