Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在OSX上使用Cocoa或Carbon拍摄单个窗口的截图?_Cocoa_Macos_Screenshot_Macos Carbon - Fatal编程技术网

如何在OSX上使用Cocoa或Carbon拍摄单个窗口的截图?

如何在OSX上使用Cocoa或Carbon拍摄单个窗口的截图?,cocoa,macos,screenshot,macos-carbon,Cocoa,Macos,Screenshot,Macos Carbon,我需要能够识别用户屏幕上的单个窗口,并对其进行屏幕捕获。屏幕数据将存储在内存中,而不是写入磁盘 这已经通过命令行工具/usr/sbin/screenscapture或Grab实用程序得到了支持(尽管它们的功能不够广泛,不足以证明我可以将它们作为子流程启动) 参考/提示 nm/usr/sbin/screenscapture返回私有的Cocoa接口,包括_CGSGetSharedWindow,这些接口似乎可以执行此操作 第三方应用程序Snapzpro执行此操作(但不提供源代码) 命令+Shift+

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

这已经通过命令行工具/usr/sbin/screenscapture或Grab实用程序得到了支持(尽管它们的功能不够广泛,不足以证明我可以将它们作为子流程启动)

参考/提示

  • nm/usr/sbin/screenscapture返回私有的Cocoa接口,包括_CGSGetSharedWindow,这些接口似乎可以执行此操作
  • 第三方应用程序Snapzpro执行此操作(但不提供源代码)

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

Mac OS X 10.5引入了此功能

想到的第一件事是从MacFuse那里抢来的。来源是。

我建议不要使用碳,因为它几乎已经被完全弃用了。这确实起到了作用。谷歌提供了一个简短的样例代码,其中包含了评测。