【发布时间】:2012-10-28 16:15:24
【问题描述】:
我查看了 NSWorkspace 文档并得到了这个:
(NSRunningApplication *)currentApplication
但是有没有什么方法可以查出该应用程序当前打开了多少(或如果有)窗口?
我知道有一些applescript可以获取它,但是沙盒不允许这样做?
【问题讨论】:
标签: objective-c xcode macos cocoa applescript
我查看了 NSWorkspace 文档并得到了这个:
(NSRunningApplication *)currentApplication
但是有没有什么方法可以查出该应用程序当前打开了多少(或如果有)窗口?
我知道有一些applescript可以获取它,但是沙盒不允许这样做?
【问题讨论】:
标签: objective-c xcode macos cocoa applescript
您需要查看 CoreGraphics 调用 CGWindowListCopyWindowInfo。
你这样称呼它
CFArrayRef windowList = CGWindowListCopyWindowInfo(kCGWindowListOptionOnScreenOnly | kCGWindowListExcludeDesktopElements, kCGNullWindowID);
然后遍历窗口信息数组并用它做你想做的事情。
我不确定沙盒对它的影响。
【讨论】: