You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于SetWindowDisplayAffinity导致NVIDIA ShadowPlay关闭的技术求助

解决SetWindowDisplayAffinity导致NVIDIA ShadowPlay/GeForce Experience禁用的问题

代码调整方案

  • 动态切换窗口捕获属性,仅在需要隐藏窗口时设置WDA_EXCLUDEFROMCAPTURE,其余时间恢复默认值WDA_NONE,避免长期锁定该属性触发ShadowPlay的异常逻辑:
// 触发窗口隐藏逻辑时调用
SetWindowDisplayAffinity(hwnd, WDA_EXCLUDEFROMCAPTURE);

// 恢复窗口可捕获状态时调用
SetWindowDisplayAffinity(hwnd, WDA_NONE);
  • 排查是否同时使用了其他可能冲突的窗口API(如DwmSetWindowAttribute的DWMWA_CLOAK参数),避免多重窗口属性叠加引发驱动层面的误判。

ShadowPlay设置优化

  • 打开GeForce Experience进入ShadowPlay设置,关闭「自动优化游戏」功能,手动将你的目标程序添加到捕获规则列表并设置为「允许捕获」(即使代码层面禁止捕获,也能避免ShadowPlay的自动检测机制误触发全局禁用)。
  • 重置ShadowPlay配置:在GeForce Experience设置中找到「重置ShadowPlay」选项,恢复默认设置后重新测试。
  • 切换录制模式:关闭「即时重放」功能,改用手动启动录制的模式,看是否还会出现GeForce Experience被禁用的情况。

驱动与系统兼容调整

  • 更新NVIDIA驱动至最新版本(当前526.98版本较旧,后续版本大概率修复了这类API兼容性bug),或回退至经过验证的稳定版本(如517.40)。
  • 确保Windows 10安装了最新的累积更新,修复系统API与驱动之间的兼容性问题。

如果上述方法均无效,该问题大概率是NVIDIA驱动对WDA_EXCLUDEFROMCAPTURE的处理存在未公开的bug,建议向NVIDIA官方提交bug报告,附带你的程序代码片段和系统环境信息。

内容的提问来源于stack exchange,提问作者SKNG

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 20:05:23