打开应用程序窗口

时间:2012-11-08 12:59:58

标签: objective-c xcode macos cocoa applescript

我查看了NSWorkspace文档并得到了这个:

(NSRunningApplication *)currentApplication

但有什么方法可以找出该应用目前有多少(或者如果有的话)窗口?

我知道有一些AppleScript可以获得它,但沙箱不允许这样做?

1 个答案:

答案 0 :(得分:2)

您需要查看CoreGraphics调用CGWindowListCopyWindowInfo

你这样称呼它

    CFArrayRef windowList = CGWindowListCopyWindowInfo(kCGWindowListOptionOnScreenOnly | kCGWindowListExcludeDesktopElements, kCGNullWindowID);

然后迭代窗口信息数组并用它做你想做的事。

我不确定它是如何受沙盒影响的。