Skip to main content
本主题介绍在 PC 上处理窗口显示模式以及顺利显示 title-callable UI(TCUI)对话框时需要注意的特殊事项。 建议游戏在调用任何可能显示 TCUI 的 API 之前,确保游戏窗口可见。此外,游戏窗口应使用全屏窗口化/无边框模式或窗口化/非最大化模式,而不是全屏独占模式。 游戏应以显示器的原生分辨率运行,而不是自定义的应用/游戏分辨率。某些技术(例如 DirectX 9)在显示 TCUI 对话框时无法优雅处理分辨率变化。 除此之外,一些中间件引擎和包装层,以及 DirectX 9,当前台焦点被 TCUI 对话框夺走时会自动最小化全屏游戏窗口。为规避这种对用户不利的行为,在显示 TCUI 对话框时窗口最小化会被显式拒绝。详情参见本主题稍后的“防止游戏窗口最小化”一节。 对于使用非 DirectX 图形技术的游戏,我们的推荐实践如下。 如果游戏使用 OpenGL 或 Vulkan,则需要一个显示由桌面拥有的窗口边框的“窗口化”模式,才能让 TCUI 对话框在游戏之上渲染。这是因为根据显卡驱动的实现,任何形式的全屏运行都可能不经过 Desktop Window Manager,从而阻止 TCUI 对话框在游戏窗口之上显示。 对于其他图形技术,请联系你的 XBOX 支持代表。

防止游戏窗口最小化

一些中间件引擎与分层系统(例如 Unity 与 Simple DirectMedia Layer(SDL))会在前台焦点被 TCUI 对话框夺走时自动最小化游戏的全屏窗口。 为防止此行为,Gaming Runtime 使用 CBTProc 拒绝任何最小化游戏窗口的请求。Gaming Runtime 仅在检测到覆盖层可以渲染在全屏 DirectX 游戏窗口之上且 TCUI 对话框可见时才应用此模式。 此外,Gaming Runtime 会在显示 TCUI 对话框之前拦截并修改窗口样式变更消息,防止游戏窗口渲染边框或标题栏。除非之前的样式已经包含,否则 WS_OVERLAPPEDWINDOW 组中的任何样式在样式变更时都不会被应用。此修改只在 TCUI 对话框存在期间生效。

DirectX 9 与 TCUI 对话框的相关注意事项

尽管如“防止游戏窗口最小化”所述,DirectX 9 游戏被阻止最小化,但在显示 TCUI 对话框时它们仍会失去前台焦点。游戏应像响应用户在全屏运行时最小化游戏窗口那样,优雅地处理这种焦点丢失。

Unity 与 TCUI 对话框的相关注意事项

对于任何预期会显示 TCUI 对话框的游戏,建议将 “Application.runInBackground” 设为 true。
最后修改于 2026年8月24日