你知道如何获得任何焦点窗口(属于或不属于当前应用程序)的CGWindow Id吗?
提前感谢您的帮助:)
此致
答案 0 :(得分:2)
一种方法是使用CGWindowListCopyWindowInfo
获取所有窗口的列表,如下所示:
CFArrayRef windowList = CGWindowListCopyWindowInfo(kCGWindowListOptionOnScreenOnly | kCGWindowListExcludeDesktopElements, kCGNullWindowID);
检查此列表以查找窗口级别0的所有窗口(这些是正常窗口)。
我很确定返回的数组将按照窗口在屏幕上分层的顺序排列。如果没有,您可以通过“windowOrder”键进行排序。查看SonOfGrab示例代码,了解有关如何使用此API的更多信息。