objective-c – 如何获取当前在屏幕上的所有窗口的列表,快速?
发布时间:2020-12-16 05:58:59 所属栏目:百科 来源:网络整理
导读:在 swift中如何获取当前在屏幕上的所有窗口的列表? (所有例子都是进口可可) 在目标c中,我可以成功运行以下代码: CFArrayRef windowList = CGWindowListCopyWindowInfo(kCGWindowListOptionOnScreenOnly,kCGNullWindowID); 但是当我运行相当于swift(使用游
在
swift中如何获取当前在屏幕上的所有窗口的列表? (所有例子都是进口可可)
在目标c中,我可以成功运行以下代码: CFArrayRef windowList = CGWindowListCopyWindowInfo(kCGWindowListOptionOnScreenOnly,kCGNullWindowID); 但是当我运行相当于swift(使用游乐场测试)时: let windowList = CGWindowListCopyWindowInfo(kCGWindowListOptionOnScreenOnly,kcGNullWindowID) 我得到一个错误告诉我,我使用未解析的标识符’kcGNullWindowID’. 在quartz documentation的帮助下玩了一段时间后,我得到: 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]] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |