![]() |
1
5
(披露:我在这家公司工作) 你可以试试我们的 Deviare API 它具有从C_钩住COM对象的功能。 它是一组COM对象,可以从任何编程语言(支持COM)中使用。提供了一篇包含源代码的文章,说明如何捕获视频并添加覆盖: instrumenting Direct3D applications to capture video and calculate FPS COM Spy Console 和 Direct Sound Capture 有两个例子实现了一个控制台来钩住像directx这样的COM对象。 希望它有帮助。 |
![]() |
2
16
你可以试试 my example on hooking the Direct3D 9 API using C# . 它利用easyhook这个开放源码.NET程序集,允许您将钩子从托管代码安装到非托管函数中。 slimdx也被使用-这是一个围绕Direct3D库的开源托管包装器。 钩住的棘手部分是确定COM对象的虚拟函数的地址。这在上面的示例中使用了一个小的C++助手DLL,它从VTABLE中找到地址。[更新:发布了一条注释,说明如何从c中的vtable获取函数指针-还提供了一个到com对象的intptr] 该示例挂接IDirect3dDevice9的EndScene方法,您也可以在该方法中绘制任何覆盖。至于在套印格式中显示表单,我不太确定这是否如此简单-我的意思是您可以足够轻松地呈现图像,但您必须捕获输入并手动适当地对相关表单的事件进行响应/传递。祝你好运! |
![]() |
3
2
由于您没有从C直接访问DirectX,这可能很棘手。 从我对这个概念的有限理解来看: DirectX钩子包含连接到DirectX上下文并操作它,这可能/可能不需要干扰另一个程序的内存,这是最适合C/C++的。 不过,我可能错了,不过这是一个高级主题,我的直觉告诉我,在.NET下,您可能有问题。 |
|
Robert King · Unity C#语法问题-转换位置 1 年前 |
![]() |
JBryanB · 如何从基本抽象类访问类属性 1 年前 |
|
law · 检查答案按钮的输入字符串格式不正确 2 年前 |
![]() |
i_sniff_ket · 在unity之外使用unity类 2 年前 |