2011-07-01 66 views
1

有没有一种方法可以保护程序免受用户的任何形式的屏幕截图?例如,当用户按下键盘上的“打印屏幕”键时,我不希望我的程序处于屏幕截图中。是否有可能在程序中以某种方式进行关键预览,以最大限度地减少用户按Print Screen键的程序?如何阻止程序的屏幕截图

我想要这个C#WinForms。

P.S.我知道这有点愚蠢,用户可以拍摄一张真实的屏幕照片:P,但只是我的好奇心!

+5

这是一个在SO几个月左右出现的问题。找不到真正快速的答案,答案是一样的:Windows中没有内置DRM组件,可保护视频适配器内存。监视器和手持摄像机之间也没有任何东西。除了妈妈的右手手指之外。 –

回答

6

我现在唯一能想到的就是使用video overlay来绘制应用程序的内容(即类似于分类的视频播放器)。这种方式通常的屏幕截图程序只会得到一个空白/几乎黑色的图像。但它仍然不是100%安全的方式。通过软件传递的所有东西都可以通过某种方式进行操纵/抓取。

4

无法停止屏幕截图。

+2

虽然'SetWindowDisplayAffinity'使它更加困难。 –

+0

@RaymondChen你懒惰的屁股 - 甚至不会链接到你自己的博客文章。让我漫不经心地为你做这件事:http://blogs.msdn.com/b/oldnewthing/archive/2013/06/03/10422964.aspx – x0n

+1

@ x0n首先,SO皱起了对异地页面的链接。其次,我没有时间机器。 (从2012年的评论怎么可能连接到2013年的博客文章?) –

4

我想不出任何方式来阻止确定的应用程序捕获您的应用程序的屏幕输出。屏幕可以被捕获的不仅仅是PrintScreen键。在Windows中,几乎任何应用程序都可以通过从DC句柄零读取读取整个屏幕设备表面。