我需要能够识别用户屏幕上的单个窗口并对其进行屏幕截图。屏幕数据将存储在内存中,而不是写入磁盘。
这已经通过命令行工具 /usr/sbin/screencapture 或 Grab 实用程序得到支持(尽管它们的功能不够广泛,无法证明我将它们作为子进程启动是合理的)。
参考/提示
- nm /usr/sbin/screencapture 返回私有 Cocoa 接口,包括似乎执行此操作的 _CGSGetSharedWindow。
- 第三方应用程序 Snapzpro 执行此操作(但不提供源代码)
我需要能够识别用户屏幕上的单个窗口并对其进行屏幕截图。屏幕数据将存储在内存中,而不是写入磁盘。
这已经通过命令行工具 /usr/sbin/screencapture 或 Grab 实用程序得到支持(尽管它们的功能不够广泛,无法证明我将它们作为子进程启动是合理的)。
参考/提示
Mac OS X 10.5 引入了Quartz Window Services API来做到这一点。
首先想到的是 MacFuse 的 GrabFS。来源在这里。
Command+Shift+4 激活屏幕截图选择,然后点击空格键选择整个窗口。