禁用蒸汽覆盖

时间:2018-09-16 21:38:09

标签: c++ windows game-engine steam

我为游戏进行了以下设置:

  1. launcher.exe-在Windows上的Steam下启动,并为用户提供一些设置UI。
  2. 然后,launcher.exe将启动实际的game.exe。

问题是launcher.exe使用的是硬件加速UI-使用Direct2D / DirectX。

此页面https://partner.steamgames.com/doc/features/overlay指出:

  

您的游戏不需要做任何特殊的叠加即可   工作时,它会自动挂接到Steam发行的任何游戏中!

但是对于我来说,这会产生问题-叠加层是在错误的窗口上创建的。因此,launcher.exe(使用DirectX)具有覆盖层,但没有由game.exe(真实游戏,使用DirectX和/或OpenGL)创建的窗口。

问题是:如何修改我的launcher.exe窗口的代码,以防止“自动”在其上创建Steam叠加层?

更新,Valve TS的响应:

  

抱歉,没有代码可以有选择地启用或禁用   在发射器和游戏之间叠加!

唯一的“选项”是禁用launcher.exe中的DirectX绘图。在这种情况下,其注入的DLL将不会创建该东西。但这实际上意味着在Steam之下无法进行GPU加速的UI绘制。“ 640kb足够让所有人使用”这种类型的设计。

理想情况下,Steam应该向窗口发送一些自定义消息,以询问窗口希望如何以及在何处渲染该叠加层。但是显然没有这种东西,不是吗?

就上下文而言,启动器如下所示:

As you see there is no room for overlay

1 个答案:

答案 0 :(得分:0)

停止Steam叠加的最佳方法:

第1步:打开Steam应用程序,然后从您的游戏库中单击一次,以选择要禁用其屏幕覆盖的游戏。然后右键单击以打开选项菜单,然后选择“属性”。

第2步:当您点击属性选项时,将打开一个新标签。在新打开的窗口的常规标签中,确保取消选中“在游戏中启用蒸汽叠加”,然后单击“确定”以保存设置。

更多信息:How do I turn off steam overlay?