How to prevent screenshot from program

2019-01-29 04:58发布

问题:

Is there a way to protect a program from any form of screenshoting by users? For example I do not want my program to be in a screenshot when user presses Print Screen key on the keyboard. Is it possible to make somehow a key preview in the program that minimizes the program on pressing Print Screen keyt by user?

I want this for C# WinForms.

P.S. I know it is a bit stupid, user can take a real photo of the screen :P but just my curiosity!

回答1:

Only thing that I could think of right now would be using a video overlay to draw the application's contents (i.e. similar to classiv video players). That way usual screenshot programs will just get a blank/almost black image. But it's still no 100 % secure way. Everything that passes through software can be manipulated/grabbed in some way.



回答2:

It's not possible to stop screenshots.



回答3:

I can't think of any way to prevent a determined application from capturing your app's screen output. The screen can be captured by a lot more than just the PrintScreen key. In Windows, just about any app can read the entire screen device surface by reading from DC handle zero.