【发布时间】:2012-05-05 06:51:41
【问题描述】:
我正在阅读此文: http://www.ring3circus.com/gameprogramming/case-study-fraps/ 而且我开始意识到,考虑到它的年代久远,(作者甚至建议不要使用他的代码),这确实不适合我的需求(一,它是 C#,二,它用于 DX9)。我正在尝试获取 DirectX 游戏窗口的矩形捕获,并将其作为某种可以引用的流视频保存在内存中。如果不在前景中,甚至可见(隐藏在其他窗口后面),该窗口仍需要能够被捕获。我已经尝试过那个 C# 库(使用 EasyHook 和 SlimDX 制作的库),但我只设法让演示在 64 位下的 DirectX 11 游戏中成功运行一次(此后一直无法重现它)。即便如此,捕捉速度也慢得令人瞠目结舌。以及许多其他覆盖到 DirectX 的内容(我不需要)。我想模仿 fraps 在捕获方面的作用,但我只需要游戏的一个矩形区域,而不是整个区域,而且我不需要将其写入文件。我能否获得一个代码示例,说明我如何设法在 C# 中快速捕获游戏窗口的给定矩形,这适用于 DX9 到 DX11?
【问题讨论】:
-
这是个好问题。似乎在网上找不到容易找到的答案 - 隐藏在许多 DX9 和其他不相关的解决方案之下。
标签: c# directx hook code-injection screen-capture