我想获取正在运行的应用程序的窗口列表。
我可以从[[NSWorkspace sharedWorkspace] runningApplications]获取正在运行的应用程序列表,但是窗口列表仅在NSApplication上可用。
有什么方法可以将NSRunningApplication转换为NSApplication,还是可以更直接地获取窗口列表?

最佳答案

您需要查看CoreGraphics调用CGWindowListCopyWindowInfo

你这样称呼它

    CFArrayRef windowList = CGWindowListCopyWindowInfo(kCGWindowListOptionOnScreenOnly | kCGWindowListExcludeDesktopElements, kCGNullWindowID);

然后遍历窗口信息数组,从您感兴趣的应用程序中找到所需的信息,然后使用它来做您想做的事情。

关于cocoa - 如何获取NSRunningApplication的Windows,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13760760/

10-12 00:41
查看更多