1

There are various ways to take screenshots of a running application in Windows. However, I hear that an application can be tailored such that it can notice when a screenshot is being taken of it, through some windows event handlers perhaps? Is there any way of taking a screenshot such that it is impossible for the application to notice? (Maybe even running the application inside a VM, and taking a screenshot from the host?) I'd prefer solutions in Python, but anything will do.

Cœur
  • 37,241
  • 25
  • 195
  • 267
Claudiu
  • 224,032
  • 165
  • 485
  • 680

4 Answers4

6

There will certainly be no protection against a screenshot taken with a digital camera.

User
  • 30,403
  • 22
  • 79
  • 107
  • hehe, yes, but this is also not programmatic, and it'd be hard to say take one every 100 ms or so. – Claudiu Apr 21 '09 at 14:05
  • 1
    @Claudiu: Not with some of the sports cameras out there... some of them boast upwards of 60 fps now... – BenAlabaster Apr 21 '09 at 22:42
  • This is true but I wouldn't allow it to deflate any motivation to protect images rights. If one finds a hand-held camera taken image then its roughness is something of a smoking gun with regards to copyright theft. Google images can now find copies and similarities well. YouTube can even recognise clips from films and then invites uploaders to surrender advertising rights/revenue to the original copyright holder. – S Meaden Jan 06 '18 at 18:07
4

> I hear that an application can be tailored such that it can notice when a screenshot is being taken of it

Complete nonsense. Don't repeat what kids say... Read MSDN about screenshots.

2

Do you have a particular anti-screenshot program in mind? Ultimately, you're right, running the app in a VM will trump any 'protection' it has, but the method depends on which OS/VM you're using, and it's not worth the overhead until it's needed.

I'd just use this: Take a screenshot via a python script. [Linux] (Windows only)

Community
  • 1
  • 1
Mark
  • 6,269
  • 2
  • 35
  • 34
  • One can detect if running on a VM, https://superuser.com/questions/1128339/how-can-i-detect-if-im-within-a-vm-or-not and Remopte Desktop it seems https://stackoverflow.com/questions/159910/determine-if-a-program-is-running-on-a-remote-desktop – S Meaden Jan 06 '18 at 18:02
0

One could use Remote Desktop or the (low-level) VNC Mirror Driver and take the screenshot on an another computer.

Tarnay Kálmán
  • 6,907
  • 5
  • 46
  • 57
  • One can detect if running on a VM, https://superuser.com/questions/1128339/how-can-i-detect-if-im-within-a-vm-or-not and Remopte Desktop it seems https://stackoverflow.com/questions/159910/determine-if-a-program-is-running-on-a-remote-desktop – S Meaden Jan 06 '18 at 18:00