objective-c - 打开应用程序窗口

标签 objective-c xcode macos cocoa applescript

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

(NSRunningApplication *)currentApplication

但是有什么方法可以找出该应用程序当前打开了多少个(或者如果有的话)窗口?

我知道有一些applescript可以获取它,但是沙箱不允许它?

最佳答案

您需要查看 CoreGraphics 调用CGWindowListCopyWindowInfo

你这样调用它

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

然后迭代窗口信息数组并用它执行您想要的操作。

但我不确定沙箱如何影响它。

关于objective-c - 打开应用程序窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13289513/

相关文章:

ios - UIButton 多个标签使用 UIControlStates

ios - uicollectionview奇怪的差距

ios - Xcode 试图定位或生成匹配的签名 Assets

cocoa - Mac 应用程序开发中调整窗口大小

MacOS X 文件系统监视器

iphone - JSON 值未保存到 iPhone 中的 SQLite 数据库

xcode - 如何在 macOS 上的 Xcode 中的动态库中从 C++ 中解开导出的符号

ios - ld : file not found: linker command failed with exit code 1

swift - 禁用应用程序小睡

ios - 如何在 objective-c 模型类中存储处理程序?