macos – CGWindowListCopyWindowInfo,kCGWindowLayer和窗口级别

前端之家收集整理的这篇文章主要介绍了macos – CGWindowListCopyWindowInfo,kCGWindowLayer和窗口级别前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
CGWindowLevel.h文件定义了用于设置窗口级别的常量和可用作窗口级别为20的最大值.但是,如果使用调用CGWindowListCopyWindowInfo检索窗口列表,则可以观察到的值kCGWindowLayer超过20(25,103等).

kCGWindowLayer和窗口级别不一样吗?
如果它们不相同,我如何获得使用CGWindowListCopyWindowInfo获得的窗口的窗口级别?
如果它们相同,为什么我们得到的值> 20?

解决方法

看来kCGWindowLayer确实引用了一个窗口级别,虽然我没有找到任何文档说明这一点.

您似乎认为窗口级别最多为20,因为从kCGBaseWindowLevelKey到kCGAssistiveTechHighWindowLevelKey的枚举,最后一个具有值20.但这些不是窗口级别,它们是可用于使用CGWindowLevelForKey查找窗口级别的键.例如,kCGStatusWindowLevelKey的值为9,但kCGStatusWindowLevel定义为CGWindowLevelForKey(kCGStatusWindowLevelKey),其值为25.

猜你在找的Windows相关文章