我想防止使用截图工具捕获屏幕。我已经通过注册 KeyUp 事件和清除剪贴板来阻止 Print Screen。我想阻止仅为特定子表单(弹出对话框)捕获屏幕。
我尝试了 Form Deactivate 事件,但是一旦用户单击 Snipping 工具的 New Snip 功能,它就会激活我的应用程序。
编辑
我发现了一个噱头。请注意,它既不是防弹解决方案,也不是良好的用户体验,但它可能对你们中的一些人有所帮助。
脚步
- 采取面板,将背景颜色属性设置为灰色(或您选择的任何一种)。
- 确保该面板是隐藏的,它是 SendToBack。
- 注册面板的点击事件。
- 注册表格停用事件。
- 在 Form Deactivate 上,将该面板的可见性设置为 true,将其停靠以填满屏幕并设置 BringToFront。因此,当用户切换到其他应用程序或单击应用程序外的任何位置时,灰色面板将覆盖您的实际屏幕。
- 当用户切换回应用程序时,让他们单击面板以重新打开(取消隐藏)您的实际屏幕。
同样,正如我所说,这是噱头,不是很好的用户体验,但它可能会帮助像我这样的主要目标是防止用户截取敏感数据的人。
用户仍然可以通过在 VM 中运行您的应用程序来使用他们的手机或相机或截图 VM 拍照。所以我的解决方案不是万无一失的,但至少它肯定会让它变得不那么容易。
干杯!!