我正在尝试获取 macOS 上正在运行的应用程序的列表,以便在全屏应用程序上进行一些具体的窗口操作。
首先,我通过 [NSWorkspace sharedWorkspace].runningApplications
获取所有正在运行的应用程序的列表,然后使用 Accessibility API 获取窗口:
AXUIElementCopyAttributeValues((__bridge AXUIElementRef) app,
(__bridge CFStringRef) kAXWindowsAttribute,
index,
count,
&values);
看起来这是正确的方法,但对于具有全屏窗口的应用程序,kAXWindowsAttribute
为空。对于非全屏窗口,它工作得很好。
最佳答案
核心图形服务 API 可以通过 CGWindowListCopyWindowInfo() 函数提供所有窗口的列表。
关于objective-c - 是否可以获得正在运行的应用程序窗口的完整列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47163400/