C# 即使在全屏游戏中,也始终处于领先地位

C# 即使在全屏游戏中,也始终处于领先地位,c#,overlay,topmost,C#,Overlay,Topmost,如何将Windows窗体应用程序置于屏幕上的所有内容之上 在运行全屏游戏时,仅设置最顶层属性是不够的 如果有人有一个好的旧形式的解决方案,我也会很高兴 我在这个论坛上看到很多帖子说这是不可能的,但我知道这并不是因为我见过很多应用程序(FRAP、teamspeak overlay、xfire等)都能做到这一点。如果你想使用图形库在屏幕上显示一些东西,你可以开始。有类似OpenGL的包装器库可用。如果你想去DirectX路由,你需要加载C++库并使用P/Unjk访问它们。有一个很好的教程开始。Dir

如何将Windows窗体应用程序置于屏幕上的所有内容之上

在运行全屏游戏时,仅设置最顶层属性是不够的

如果有人有一个好的旧形式的解决方案,我也会很高兴


我在这个论坛上看到很多帖子说这是不可能的,但我知道这并不是因为我见过很多应用程序(FRAP、teamspeak overlay、xfire等)都能做到这一点。

如果你想使用图形库在屏幕上显示一些东西,你可以开始。有类似OpenGL的包装器库可用。如果你想去DirectX路由,你需要加载C++库并使用P/Unjk访问它们。有一个很好的教程开始。DirectX的包装器也以。

的形式存在。想象一下,如果两个应用程序试图同时通过DirectX/OpenGL完成这项工作,Fraps就会这样做。如果您愿意使用低级图形API,这是可能的,但在常规windows窗体(不包括form.TopMost)中不太可能。您使用的是MS windows吗?喜剧选项:拍摄windows窗体应用程序的屏幕截图,打印出来,并将其粘贴到屏幕上。严肃的评论——Nathan是对的,但他掩盖了这样一个事实,即在非托管语言中,这可能比C#更容易实现,因为C#对绘画有更多的控制。我怀疑teamspeak是否使用Winforms来完成他们的工作-他们可能不得不使用大量自己的绘图逻辑。@PeteBaughman确实如此,在其他语言中,这可能更可行。我只是在windows窗体的上下文中发言,因为这是被问到的。