自Windows XP以来,我已经知道使用Device Contexts和GDI进行屏幕捕获。现在有一种更好的方法(即DirectX?)桌面主要是Direct3D。
如何使用DirectX进行屏幕捕获?
我想知道最有效的用户模式屏幕截图方式。对于需要经常屏幕擦除的技术支持程序。
更新:我不想使用内核模式驱动程序。
答案 0 :(得分:0)
我不确定这实际上会比您想到的算法更快,但一种方法是使用GetRenderTargetData复制缓冲区。
答案 1 :(得分:0)
基于vcsjones的答案(上图)。请参阅CodeProject http://www.codeproject.com/KB/dialog/screencap.aspx#And%20The%20DirectX%20way%20of%20doing%20it%20
答案 2 :(得分:0)
另一种方法是使用Spazzarama's应用程序,它使用DirectX(基于SlimDx)和Easyhook将捕获dll注入正在运行的应用程序的DirextX管道。