2

从 Windows XP 开始,我就知道使用设备上下文和 GDI 进行屏幕捕获。现在桌面主要是 Direct3D,有没有更好的方法(即 DirectX?)。

如何使用 DirectX 进行屏幕截图?

我想知道用户模式屏幕捕获的最有效方法。对于需要频繁屏幕刮擦的技术支持程序。

更新:我不想求助于使用内核模式驱动程序。

4

3 回答 3

0

基于 vcsjones 的回答(上图)。见 CodeProject http://www.codeproject.com/KB/dialog/screencap.aspx#And%20The%20DirectX%20way%20of%20doing%20it%20

于 2011-06-28T02:19:10.650 回答
0

我不确定这实际上会比您想到的算法更快,但一种方法是使用 GetRenderTargetData 复制您的缓冲区。

获取渲染目标数据

于 2011-05-03T12:16:09.160 回答
0

另一种方法是使用Spazzarama 的应用程序,该应用程序使用 DirectX(基于 SlimDx)和 Easyhook 将您的捕获 dll 注入正​​在运行的应用程序的 DirextX 管道中。

于 2013-02-27T14:05:51.653 回答