Delphi - DirectX - OSD /屏幕叠加

Sco*_*ard 7 delphi delphi-2010

晚上好,我现在正在使用Delphi 2010中的NVIDIA GPU温度监视器.它还将提供来自WMI的系统信息.

目前,我正在针对不同的情况开发一些不同的OSD(屏幕显示)方法.我已经有两种方法了,但我还需要一种专门用于游戏的方法.

我想要做的是使用Direct2D或Direct3D显示带有一些文本的叠加层或OSD.DLL注入是有风险的,更不用说完美了.你可以想象,我试图将它叠加到游戏中,但将它覆盖在任何地方都同样好.

可以想象,使用Direct2D或Direct3D覆盖它会好得多.挂钩只是一个想法,但同样,这可能会导致我也要求注入代码.

本质上,我想要在屏幕上显示文本的最简单的方法,该方法没有大的性能损失,并且在屏幕刷新时不会闪烁(即渲染新帧).我也希望能够绘制图像(因为我在我的应用程序中包含图形,输出这些将是一个奖励,但输出文本是这里的主要任务).

老实说,如果我需要挂钩和/或注射,我不介意,但我没有这样做的经验,绝对需要很多帮助.做类似于MSI Afterburner或FRAPS的事情就是我所追求的.

我也缺乏DX编程或设计方面的知识,因此需要大量的帮助.我已经完成了大部分设计和工作的应用程序,这是完成这一项大任务,并清理其他较小部分的问题.

有任何想法吗?

编辑:减少段落数量,以便于阅读.减少它可能无法解释这一点.对于看过编辑版本的人,我确实做了大量的研究,但没有得到任何结果.

编辑:没有人得到更多的投入?是否可以使用另一种语言编写的DLL来输出OSD,并简单地将我的参数传递给它?如果是这样,我将如何这样做,是否有任何可用于使用的语言的示例代码?

iam*_*osy 2

您可能想看看塔克西。它有点像开源 FRAPS。是的,涉及代码注入和挂钩。好吧,用 C++ 编写。