代码之家  ›  专栏  ›  技术社区  ›  c-smile

禁用蒸汽覆盖

  •  9
  • c-smile  · 技术社区  · 8 年前

    我有以下游戏设置:

    1. 发射器。exe-在Windows上的Steam下启动,并为用户提供一些设置UI。
    2. 然后是发射器。exe开始实际的游戏。exe。

    问题是发射装置。exe正在使用H/W加速用户界面-使用Direct2D/DirectX。

    https://partner.steamgames.com/doc/features/overlay 各国:

    你的游戏不需要做任何特殊的叠加来 工作,它会自动挂接任何从Steam启动的游戏!

    但在我的例子中,这会产生问题——覆盖层是在错误的窗口上创建的。发射装置。exe(使用DirectX)具有由游戏创建的覆盖窗口。exe(真正的游戏,使用DirectX和/或OpenGL)不是。

    问题是:我如何修改我的发射器的代码。exe窗口以防止蒸汽覆盖被“自动”创建?

    更新,来自阀门TS的响应:

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

    唯一的“选项”是在启动器中禁用DirectX绘图。exe。在这种情况下,他们注入的DLL不会创建那个东西。但这实际上意味着没有GPU加速的UI绘图在蒸汽下。。。那种“640kb对每个人都足够”的设计。

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

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

    As you see there is no room for overlay

    0 回复  |  直到 8 年前
    推荐文章