问题
I found similar questions here, but not with this approach and problem. I have a program which does some mathematics. At the moment, results are written in .doc file. But, this file can be shared through network. I want to disable it by writing results in label. But, again, screen can be captured. So, I found many ideas for preventing this, but the most interesting to me is that to detect and disable all screen capture software running on the system, and periodically (if it is possible) delete clipboard. It doesn't matter what happens with results and my program (if it is lost or program closed), the only important thing is that to prevent screenshot.
I know this is impossible to do completely, but, I wanna make it as difficult as I can.
P.S. Don't discuss about phone's camera, writing results on a paper and so, I need to prevent creating image of my program (at least when results are on the screen).
EDIT:
This thing with detecting software, is there any way just to detect if some running program can take screenshot and if is, close my app? But it need to listen all time for starting these software (if it is not running on the my program's start).
Thing is that this program is for students, and they don't have money for commercial software (excluding trial, of course), as they do not have enough knowledge for something special (they don't use computers as people on this site). So, this protection doesn't need to be absolute and for programmers, just for student (but they are not naive totally :) ).
Thanks in advance.
回答1:
Since any program ends up showing its content on a screen then it can be captured. Even if you found that magic way of detect running screen capture software.
What I mean? Info runs through a VGA, HDMI or DVI cable from the CPU to the monitor. What if the user instead of plugging that cable to the monitor it does to an external video capturing hardware? You can't know it, so my suggestion is don't waste your time. What about the Prt Scr key on the keyboard ?
I believe not even Hollywood can do what you want to do.
回答2:
I dont know about Java, but you can avoid any screen capture programs by creating a Virtual Desktop and running your applications (suc as browser) under the newly created desktop. See MSDN resourse for createDesktop, SwitchDesktop etc APIs
来源:https://stackoverflow.com/questions/24095407/disable-running-screen-capture-software-in-java-app