在OS X上列出并查找窗口

时间:2009-07-27 05:36:34

标签: c macos window macos-carbon

我正在尝试使用carbon api在OS X上做一些事情,但我在Google或Apple开发网站上找不到任何我想要的东西。

理想情况下,我想找到一个功能,可以在屏幕上的某个位置找到窗口。似乎有类似的功能,但其中一个说它只在当前进程中找到窗口,另一个说它用于找到鼠标点击的目的地。

假设无法做到这一点,我将如何遍历屏幕上的所有窗口。查找有关OS X窗口管理器如何工作的信息非常困难,因为它没有名称,并且任何谷歌搜索都被操作系统Windows引用了。它有嵌套窗口吗?什么是窗口列表?只有一个吗?每个过程都有一个吗?你可以任意创造它们吗?我试探性地猜测GetWindowList是我正在寻找的,但是没有例子,文档都是模糊的“获取下一个窗口”,没有任何抽象或示例代码的解释。

如果有人可以解释我如何做到这一点,或者窗口管理员如何看待事物,或者指向某个我能读到的地方,那就太棒了!

1 个答案:

答案 0 :(得分:4)

我认为您正在寻找的是Quartz Window Services,它是Core Graphics框架的一部分。您可能希望从CGWindowListCreate()函数开始,以获取屏幕上窗口的ID号列表,然后您可以使用它来获取有关每个单独窗口的更多信息。