如何快速获取当前在屏幕上的所有窗口的列表?

我怎样才能获得的所有窗口的列表,当前在屏幕上,在

?(所有示例均以开头import Cocoa

在 我可以成功运行以下代码:

CFArrayRef windowList = CGWindowListCopyWindowInfo(kCGWindowListOptionOnScreenOnly, kCGNullWindowID);

但是当我 运行等效项时(使用操场进行测试):

let windowList = CGWindowListCopyWindowInfo(kCGWindowListOptionOnScreenOnly, kcGNullWindowID)

我收到一个错误消息,告诉我我有一个Use of unresolved identifier 'kcGNullWindowID'

在石英文档的帮助下玩了一段时间之后,我开始:

let windowList = CGWindowListCopyWindowInfo(CGWindowListOption(kCGWindowListOptionOnScreenOnly), CGWindowListOption(0))

但是它仍然无法正常工作,因为我正在接收一个{__NSArrayM}我不知道如何访问的对象。

我是在正确的道路上还是在做根本上错误的事情?

回答:

这是Swift 2.0中的示例,还演示了多个选项。

    let options = CGWindowListOption(arrayLiteral: CGWindowListOption.ExcludeDesktopElements, CGWindowListOption.OptionOnScreenOnly)

let windowListInfo = CGWindowListCopyWindowInfo(options, CGWindowID(0))

let infoList = windowListInfo as NSArray? as? [[String: AnyObject]]

以上是 如何快速获取当前在屏幕上的所有窗口的列表? 的全部内容, 来源链接: utcz.com/qa/423857.html

回到顶部