如何在OS X上使用Cocoa或Carbon获取单个窗口的屏幕抓图?

时间:2009-07-05 22:29:08

标签: cocoa macos screenshot macos-carbon

我需要能够识别用户屏幕上的单个窗口并对其进行屏幕捕获。屏幕数据将存储在内存中,而不是写入磁盘。

这已经通过命令行工具/ usr / sbin / screencapture或通过Grab实用程序支持(尽管它们的功能不够广泛,无法证明我将它们作为子进程启动)。

参考/提示

  • nm / usr / sbin / screencapture返回包含_CGSGetSharedWindow的私有Cocoa接口,似乎是这样做的。
  • 第三方应用程序Snapzpro执行此操作(但不提供源代码)

3 个答案:

答案 0 :(得分:6)

Mac OS X 10.5引入了Quartz Window Services API来做到这一点。

答案 1 :(得分:0)

首先想到的是来自MacFuse的GrabFS。来源是here

答案 2 :(得分:-4)

Command + Shift + 4激活屏幕截图选择,然后点击空格键选择整个窗口。