我想获取正在运行的应用程序的窗口列表。
我可以从[[NSWorkspace sharedWorkspace] runningApplications]
获取正在运行的应用程序列表,但是窗口列表仅在NSApplication
上可用。
有什么方法可以将NSRunningApplication
转换为NSApplication
,还是可以更直接地获取窗口列表?
最佳答案
您需要查看CoreGraphics调用CGWindowListCopyWindowInfo
。
你这样称呼它
CFArrayRef windowList = CGWindowListCopyWindowInfo(kCGWindowListOptionOnScreenOnly | kCGWindowListExcludeDesktopElements, kCGNullWindowID);
然后遍历窗口信息数组,从您感兴趣的应用程序中找到所需的信息,然后使用它来做您想做的事情。
关于cocoa - 如何获取NSRunningApplication的Windows,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13760760/