Delphi-DirectX-OSD/屏幕覆盖

Delphi-DirectX-OSD/屏幕覆盖,delphi,delphi-2010,Delphi,Delphi 2010,各位晚上好, 我目前正在Delphi2010中开发NVIDIA GPU温度监视器。它还将从WMI提供系统信息 目前,我正在为不同的情况开发几种不同的OSD(屏幕显示)方法。我已经有2种方法了,但是我需要另外一种专门用于游戏的方法 我想做的是使用Direct2D或Direct3D显示带有一些文本的覆盖或OSD。DLL注入是有风险的,更不用说很难完善。你们可以想象,我正试图将它叠加到游戏中,但在任何地方叠加都一样好 可以想象,使用Direct2D或Direct3D覆盖它会更好。挂钩可能是一个想法,但

各位晚上好, 我目前正在Delphi2010中开发NVIDIA GPU温度监视器。它还将从WMI提供系统信息

目前,我正在为不同的情况开发几种不同的OSD(屏幕显示)方法。我已经有2种方法了,但是我需要另外一种专门用于游戏的方法

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

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

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

老实说,我不介意我是否需要钩住和/或注射,但我没有这样做的经验,绝对需要很多帮助。做一些类似微星加力或FRAPS做的事情正是我想要的

我也缺乏任何DX编程或设计的知识,所以同样需要大量的帮助。我已经完成了大部分应用程序的设计和工作,这是一个完成这一大任务,并清理其他较小部分的问题

有什么想法吗

编辑:减少了段落数量,以便于阅读。更多地减少它可能无法充分解释这一点。对于看到编辑版本的人,我做了大量的研究,但没有结果


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

您可能想看看。这是一种开源的FRAPS。是的,代码注入和挂接是涉及的。而且,用C++编写。

几年前也有类似的事情(出于不同的目的)。我不得不说,这不是世界上最容易实现的事情(尽管我有OpenGL、DirectX(2D和3D)和视频游戏开发的经验。叠加是痛苦的。希望有人提供一个好的解决方案(我也能从中受益)我想问你一个问题。不过,如果可以的话,建议减少段落!谢谢LaKraven。我没想到这会很容易做到。不过,我是一名强迫症开发人员,我不会发布一个应用程序,直到我满意为止。如果我自己不想使用它,因为它低于现有的应用程序,我觉得我无法发布到世界上,除非它是de签名是为了一个特定的目的。不过我确实减少了原始问题中的上下文:)谢谢“iamjoosy”,我想这是我想的。在RAD Studio 2010中构建将使我可以选择使用它,但我仍然更喜欢Delphi来完成这个项目。尽管如此,我还是喜欢它,因为它值得研究。