设置WDA_EXCLUDEFROMCAPTURE 无效的原因
我们希望通过Windows的Display Affinity API (SetWindowDisplayAffinity
) 让“RegionAdjustWidget”在录制时彻底“隐身”——即使用户截取全屏,也不会捕获调节框。然而,在物理机的Windows 11上一切正常,却在虚拟机的Windows 10中失效,录制软件仍然能抓到该窗口。本文将系统地总结这一现象的原因、底层原理,并给出可选的解决方案。
一、背景知识:Display Affinity 与 Windows Graphics Capture
-
SetWindowDisplayAffinity(hWnd, WDA_EXCLUDEFROMCAPTURE)
:Windows 10(2004+,build 19041及以上)新增,标记窗口在Screen Capture(Windows Graphics Capture)管线中被排除。对系统截图、WGC(Windows Graphics Capture API)、PrintScreen等生效。 -
旧路径(Desktop Duplication / GDI BitBlt):Windows 10 2004之前的版本,以及在不支持WGC的环境下,截图或录屏软件会回落到传统的 D