防止屏幕捕获软件捕获应用程序屏幕

时间:2018-05-24 04:56:40

标签: c# c++ visual-c++ directx

我正在研究考试系统,作为系统的安全部分,我不希望任何人通过屏幕录制或使用这么多免费的桌面共享应用程序来远程泄漏文件。

首先,我搜索了可以阻止此类应用程序吗?但我不这么认为,因为录制/分享屏幕的方式有很多种。然后我开始了解HDCP,但我想它只适用于视频而不是HTML(如果我错了,请纠正我)。所以我想要一些像HDCP或VLC播放器的“directx视频输出”,这样内容就不会被打印屏幕或其他屏幕捕获技术捕获。

我猜D3D9 / DDraw叠加层仅适用于视频内容,我可以将它用于基于c#的Windows应用程序中的HTML内容吗?

1 个答案:

答案 0 :(得分:1)

我已根据MSDN

使用SetWindowDisplayAffinity实现此目的
  

显示亲和力设置。此设置指定可以显示窗口内容的位置。将此值设置为WDA_MONITOR以仅在监视器上显示窗口的内容。将此值设置为WDA_NONE以删除仅监控关联。

因此,设置WDA_MONITOR以处理WinForm时会在打印屏幕或桌面录制或桌面共享应用程序时将其设置为黑色。

通过手机拍摄的图片:

enter image description here

但是,我愿意接受任何其他(更好)的答案。