有没有办法检测屏幕捕获或录制?

时间:2016-02-02 21:14:37

标签: screen screenshot screen-capture

我正在为朋友制作Winforms程序,他想要实现的一个功能是隐藏文本框的内容不被记录;这意味着他希望屏幕截图和屏幕录像安全无虞。

此时我试着解释这个无用,解释

  1. 有可用于记录/捕捉屏幕的程序,并试图观察它们所有这些不仅太详尽无法解释,它也没有意义,因为任何值得他的盐的程序员都可以放这是一个个人程序,可以在不使用任何已知名称的情况下截取屏幕截图
  2. 即使你以某种方式设法阻止每个节目,一个人只能拍一张屏幕的照片
  3. 为了回答拍摄屏幕的问题,他说虽然我们无法使节目完美,但我们可以尽可能地让某人“破解”它。 (个人意见认为他是对的,但我认为我们不应该为了这么简单的解决办法而过火了)

    他对有大量不同录音节目的问题的答案却很有意思,但我不知道他是否有足够的信心给予答案。他推测,在所有程序中都有一些共同的行动,因为在某种程度上,他们都抓住了屏幕上显示的数据副本以供我们使用,理论上我们应该能够检测到该行动并做出相应的反应。

    所以我的问题是:有人知道是否有记录屏幕的程序的共同操作,如果有共同的操作,它是什么?

2 个答案:

答案 0 :(得分:1)

所有的屏幕捕获程序都是相同的,因为它与图形引擎交互以及时捕获屏幕图像,但是tgat是它到目前为止,屏幕截图时没有事件触发器已完成,因此无法检测何时发生捕获。

编辑:屏幕捕获程序访问屏幕的方式是调用GetDC(NULL)。然后使用BitBit函数将内容复制到位图中。调用GetDC()时没有触发任何事件,Windows中可能存在一种方法,该方法尚未被Microsoft记录,并且深藏在Windows API中,但目前尚未记录任何内容。

有关详细信息,请查看Windows Confidential: What You See Is What You get

答案 1 :(得分:1)

在进行屏幕捕获的情况下,如果我们监视剪贴板并检测到前台应用程序正在运行,则可以识别出该活动。 如果使用截图工具,则如果捕获屏幕截图,它将进入剪贴板,我们可以直接将其粘贴。