I\'m writing a Windows application. How can I tell when a screenshot is being taken of it? I read about how to detect the hotkey being pressed, but I\'m more worried about t
What if I use a video camera? What if I capture the video coming between the computer and the monitor?
I'll be surprised to learn there's any practical way to do this.
The way I usually take screenshots (from C#) is by calling BitBlt, which is the basis of a lot of screen painting. Not sure how you'd intercept calls to it in any meaningful way, since probably every program on the system uses it at a low level.
First, comments about using a virtual machine are completely pointless -- it is much easier to detect windows running under a virtualizer than to detect a screenshot being taken.
A good way to make screenshots difficult would be to rewrite your program to run in full screen mode under some ancestral dos extender.
A good way to ban 95% of users who ever attempted to take a screenshot is to display a huge flashing banner on startup ("screenshots prohibited! you be banned!"), and detect user pressing PrtScrn during the following 15 seconds.
there is one way that i think might stop it. learn about the technology that blurs a graphical display when it is duplicated for example.
screenshot, photographed by digital camera screenshot from virtual os.
play with it , who knows you might invent something that will make u millions.