问题
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.
来源:https://stackoverflow.com/questions/6554018/how-to-prevent-screenshot-from-program