如何在 OS X 上使用 Cocoa 或 Carbon 截取单个窗口的屏幕截图?[关闭]
-
23-08-2019 - |
题
我需要能够识别用户屏幕上的单个窗口并对其进行屏幕截图。屏幕数据将存储在内存中,而不是写入磁盘。
命令行工具 /usr/sbin/screencapture 或 Grab 实用程序已经支持这一点(尽管它们的功能不够广泛,不足以证明我将它们作为子进程启动)。
参考资料/提示
- nm /usr/sbin/screencapture 返回私有 Cocoa 接口,包括似乎执行此操作的 _CGSGetSharedWindow。
- 第三方应用程序 Snapzpro 执行此操作(但不提供源代码)
解决方案
Mac OS X 10.5 引入了 石英窗口服务 API 就是为了做到这一点。
其他提示
首先想到的是 MacFuse 的 GrabFS。来源是 这里.
Command+Shift+4 激活屏幕截图选择,然后点击空格键选择整个窗口。
不隶属于 StackOverflow