У меня есть следующие настройки для игры:
- launcher.exe - запускается в Steam под Windows и предоставляет пользовательский интерфейс с некоторыми настройками.
- Затем launcher.exe запускает саму игру.
Проблема в том, что launcher.exe использует ускоренный интерфейс H / W - использует Direct2D / DirectX.
Эта страница https://partner.steamgames.com/doc/features/overlay гласит:
Ваша игра не должна делать ничего особенного, чтобы оверлей
работать, он автоматически подключается к любой игре, запущенной из Steam!
Но в моем случае это создает проблемы - наложение создается в неправильном окне. Таким образом, launcher.exe (использует DirectX) имеет оверлей, но окно, созданное game.exe (реальная игра, использует DirectX и / или OpenGL), отсутствует.
И вот вопрос: как я могу изменить код моего окна launcher.exe, чтобы предотвратить наложение Steam на него «автоматически»?
Обновление, ответ от TS Valve:
Извините, нет кода для выборочного включения или отключения
оверлей между лаунчерами и играми!
Единственный «вариант» - отключить рисование DirectX в launcher.exe. В этом случае их внедренная DLL не создаст эту вещь. Но это фактически означает отсутствие графического интерфейса с графическим интерфейсом в Steam ... Тип дизайна "640 КБ достаточно для всех".
В идеале Steam должен отправить в окно какое-то пользовательское сообщение, чтобы спросить, как и где окно хочет, чтобы это наложение было отображено. Но, видимо, такой вещи не существует или нет?
Просто для контекста, лаунчер выглядит так: