gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 21:33:41 25 4
gpt4 key购买 nike

我正在开发考试系统,作为系统的安全部分,我不希望任何人通过屏幕录制或远程使用如此多的免费应用程序进行桌面共享来泄露试卷。

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

我想 D3D9/DDraw 覆盖仅适用于视频内容,我可以将它用于 HTML 内容/在基于 c# 的 Windows 应用程序中吗?

最佳答案

我是通过使用 SetWindowDisplayAffinity 实现的,根据 MSDN

The display affinity setting. This setting specifies where the window's contents are can be displayed. Set this value to WDA_MONITOR to display the window's contents only on a monitor. Set this value to WDA_NONE to remove the monitor-only affinity.

因此将 WDA_MONITOR 设置为 WinForm 的句柄会使它在打印屏幕或桌面录制或桌面共享应用程序时变黑。

通过手机拍摄的图片:

enter image description here

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

关于c# - 防止屏幕捕获软件捕获应用程序屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50501280/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com