如何收到新窗口打开的通知?

时间:2010-02-21 19:55:17

标签: cocoa events accessibility

我想回应外部应用程序打开的某种新窗口。我有一些经验,使用一些碳功能查找当前打开的应用程序和窗口(系统范围),因此理论上可以每隔几秒检查一次。这需要获取所有打开的窗口的列表,并根据我必须维护的列表进行检查,并且感觉非常笨重。

如何在启动新窗口时获得简单,干净的通知?我应该使用辅助功能API吗?如果是这样,具体我在寻找什么?

1 个答案:

答案 0 :(得分:1)

首先,创建一个AXObserver。然后,关注您认为自己感兴趣的任何应用程序的启动。当发生此类启动时,为该过程创建一个应用程序AXUIElement,并为kAXWindowCreatedNotification通知添加您的观察者。

我怀疑这是否是你做任何事情的最佳方式。你可以从这个解决方案中退一步(也就是说,观察新窗口),然后再问一个关于你目标的问题。