禁用蒸汽覆盖

问题描述 投票:10回答:1

我在游戏中具有以下设置:

  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

c++ windows game-engine steam
1个回答
0
投票

停止蒸汽覆盖的最佳方法[逐步操作]步骤1:打开Steam应用程序,然后从游戏库中单击一次,以选择要禁用其屏幕叠加的游戏。然后右键单击以打开选项菜单,然后选择“属性”。步骤2:单击属性选项时,将打开一个新选项卡。在新打开的窗口的常规标签中,确保取消选中“在游戏中启用蒸汽叠加”,然后单击“确定”以保存您的设置。

有关更多:How do I turn off steam overlay?

© www.soinside.com 2019 - 2024. All rights reserved.