1

I am trying to prevent users from taking screenshot in my web application written in Java.From my research,it seems highly unlikely.I did found a link below:

https://stackoverflow.com/questions/3130983/stop-user-from-using-print-scrn-printscreen-key-of-the-keyboard-for-any-we

It's able to disable the printscreen button but it doesn't disable if a user tries to use windows+printscreen.Now, I know even if I do managed to disable it, there's other third party application like snipping tools,camera,etc to take a screenshot but that's way beyond my control and I'm not looking into those.

I was just wondering is there a way to disable Win+Printscreen to prevent user from screenshotting?

If anyone has done it before, I appreciate any sort of suggestion.

Daredevil
  • 1,672
  • 3
  • 18
  • 47

1 Answers1

0

Simple answer: No

Have a quick think about why you need to hide this info, does it really matter if other people see it? I assume that you have proof that you came up with your conclusion/process first? The information will never remain exclusive forever, especially not on the internet.

You normally do not have access to higher level controls so it is normally not possible with a web app. Having said that, there are several possible ideas:

  1. Send your content directly to the graphics device/card via an API so that it is never visible to the operating system screen space (Where print screen works). However, with the right tools it is still possible to catch a graphics stream but it's a little harder for the average user.

  2. Make your webapp launch a custom desktop application with more control over the OS (Download an exe and run it?)

  3. Design a plugin/extension for a web browser that limits the use of printScreen, and then only show content on your webapp if your site can see that the plugin/extension is installed and running. This may not work with the way that Chrome and Firefox now manage plugins, it would need more investigation.

  4. The best answer would be to only show limited info/conclusions on your webapp, and keep all the proof of concept hidden. Then you can make people sign-up to your app if they want more information, and then give a strict set of criteria that must be met.

sorifiend
  • 5,927
  • 1
  • 28
  • 45
  • I would like to do so in the code rather than designing external party program but seeing it's highlike unlikely, I don't have much of a choice. – Daredevil Feb 18 '19 at 04:08
  • @Daredevil Option 1 to use a fullscreen graphics API is the only option I can think of at short notice. – sorifiend Feb 18 '19 at 04:12
  • Do you have any reference or tutorial on how to implement option 1? – Daredevil Feb 18 '19 at 04:13
  • @Daredevil I don't really work with web apps so I am unsure of any good examples. If you were to find something then it would still be a significant amount of work to get it working, I suggest just living with the knowledge that people can screenshot and there is little that you can do to stop it (Other than controlling users like option 4 above). – sorifiend Feb 18 '19 at 04:22