如何防止(禁用)我的 WPF 应用程序的视频捕获

How can I prevent (disable) video capturing of my WPF application

有没有办法阻止或禁用我的 WPF 应用程序的视频捕获?可能对我的 WPF 内容进行了一些 Win32 API 调用或一些掩码。或者,如果这是不可能的,有没有办法至少阻止最流行的屏幕捕获程序记录我的 WPF 应用程序中发生的事情?

要防止应用程序捕获 window 内容,您可以使用 WDA_MONITOR 亲和力调用 SetWindowDisplayAffinity Windows API。虽然这会阻止应用程序捕获屏幕,但不会阻止用户拿出他们的智能 phone 并拍摄屏幕照片。

API 在系统 运行 Windows 7 及更高版本上可用。还要求 Desktop Window Manager composition is enabled. Turning off DWM composition will undo the effect, so you need to prevent users from turning DWM composition off. If you are running Windows 8 and later, this is not an issue, since Desktop Window Manager is always on.