我怎样才能获得的所有窗口的列表,当前在屏幕上,在 迅速 ?(所有示例均以开头import Cocoa)
import Cocoa
在 Objective-C中, 我可以成功运行以下代码:
CFArrayRef windowList = CGWindowListCopyWindowInfo(kCGWindowListOptionOnScreenOnly, kCGNullWindowID);
但是当我 迅速 运行等效项时(使用操场进行测试):
let windowList = CGWindowListCopyWindowInfo(kCGWindowListOptionOnScreenOnly, kcGNullWindowID)
我收到一个错误消息,告诉我我有一个Use of unresolved identifier 'kcGNullWindowID'。
Use of unresolved identifier 'kcGNullWindowID'
在石英文档的帮助下玩了一段时间之后,我开始:
let windowList = CGWindowListCopyWindowInfo(CGWindowListOption(kCGWindowListOptionOnScreenOnly), CGWindowListOption(0))
但是它仍然无法正常工作,因为我正在接收一个{__NSArrayM}我不知道如何访问的对象。
{__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]]