Is there a way to get list of open or visible NSWindow from mac desktop?
Note that not all windows are necessarily NSWindows
, and that NSWindow
only provides an interface to windows in your own address space.
The supported way to access every window is the CGWindow
API. Take a look at the Son of Grab sample code to see how it's done.
You can use the accessibility API (accessibility must be enabled under System Preferences for it to work) to get information on windows (and other UI elements) from other processes. This question might be just what you're looking for.
ALL running applications? No. You can only get the NSWindows of your own app. You may be able to use Universal Access or Core Graphics APIs to get some information about windows of other apps, but not full access.
来源:https://stackoverflow.com/questions/4036420/how-to-get-a-list-of-all-open-nswindow-from-all-running-application