2011-05-02 332 views
2

自從Windows XP以來,我已經知道使用Device Contexts和GDI進行屏幕捕獲。現在桌面主要是Direct3D,是否有更好的方法(即DirectX?)?什麼是最有效的屏幕截圖方式?使用DirectX捕獲屏幕?

如何使用DirectX截屏?

我想知道用戶模式屏幕捕獲最有效的方法。對於需要經常屏幕擦除的技術支持計劃。

UPDATE:我不想訴諸使用內核模式驅動程序。

+1

這是一個合理的例子,關於如何做到這一點:http://www.codeproject.com/KB/dialog/screencap.aspx#And%20The%20DirectX%20way%20of%20doing%20it%20: – vcsjones 2011-05-02 21:11:56

回答

0

我不確定這實際上比您想到的算法快,但一種方法是使用GetRenderTargetData複製您的緩衝區。

GetRenderTargetData

0

另一種方法是使用Spazzarama's應用程序,該應用程序使用DirectX(基於SlimDx)和Easyhook將Capture DLL注入正在運行的應用程序的DirextX管道。