在 OS X 上列出和查找窗口

问题描述 投票:0回答:1

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

理想情况下,我想找到一个函数,可以在屏幕上的某个位置找到窗口。 好像也有类似的功能,不过一个说是只查找当前进程中的窗口,另一个说是定位鼠标点击的目的地。

假设没有办法做到这一点,我将如何迭代屏幕上的所有窗口。 查找有关 OS X 窗口管理器如何工作的信息相当困难,因为它没有名称,并且任何谷歌搜索都无法引用操作系统 Windows。 它有嵌套窗口吗? 什么是窗口列表? 只有一个吗? 每个进程都有一个吗? 你可以创建任意多个吗? 我初步猜测 GetWindowList 就是我要找的,但是没有示例,并且文档都是模糊的“获取下一个窗口”,没有任何抽象或示例代码的解释。

如果有人可以解释我如何做到这一点,或者窗口管理器如何看待事物,或者指出我可以阅读相关内容的地方,那就太好了!

c macos window macos-carbon
1个回答
4
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.