How can I get a list of all windows, currently on the screen, in swift? (all examples are preceded by import Cocoa
)
In objective-c I can run the following code successfully:
CFArrayRef windowList = CGWindowListCopyWindowInfo(kCGWindowListOptionOnScreenOnly, kCGNullWindowID);
But when I run the equivalent in swift(using the playground to test):
let windowList = CGWindowListCopyWindowInfo(kCGWindowListOptionOnScreenOnly, kcGNullWindowID)
I get an error telling me that I have an Use of unresolved identifier 'kcGNullWindowID'
.
After playing around with the help of the quartz documentation for a while I have gotten to:
let windowList = CGWindowListCopyWindowInfo(CGWindowListOption(kCGWindowListOptionOnScreenOnly), CGWindowListOption(0))
But it still does not work as I am receiving a {__NSArrayM}
object, which I do not know how to access.
Am I on the right track or am I doing something fundamentally wrong?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…