代码之家  ›  专栏  ›  技术社区  ›  Ben Packard Ross Knipe

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

  •  3
  • Ben Packard Ross Knipe  · 技术社区  · 16 年前

    我想响应外部应用程序打开的某种类型的新窗口。我有一些经验发现应用程序和窗口目前是开放的(系统范围内),使用一些碳功能,所以理论上可以每隔几秒钟检查一次。这需要得到所有打开的窗口的列表,并对照我必须维护的列表进行检查,感觉非常笨拙。

    启动新窗口时,如何获得简单、干净的通知?我应该使用可访问性API吗?如果是,我具体要找什么?

    1 回复  |  直到 16 年前
        1
  •  1
  •   Peter Hosey    16 年前

    首先,创建一个AxObserver。然后,观察您认为感兴趣的任何应用程序的发布。当这样的启动发生时,为该进程创建一个应用程序axuielement,并为该进程添加观察者。 kAXWindowCreatedNotification 通知。

    我怀疑这是否是做你想做的事情的最佳方式。您可能会从这个解决方案后退一点(即,观察新窗口),然后再问一个关于您的目标的问题。