9

我想获取正在运行的应用程序的窗口列表。我可以从中获取正在运行的应用程序列表[[NSWorkspace sharedWorkspace] runningApplications],但窗口列表仅在NSApplication. 有什么方法可以从NSRunningApplicationto转换NSApplication,或者有什么方法可以更直接地获取窗口列表?

4

1 回答 1

9

您需要查看 CoreGraphics 调用CGWindowListCopyWindowInfo

你这样称呼它

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

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

于 2012-12-07T15:35:05.613 回答