Prevent screenshot capture

How to block capturing screen-shot from within a Java Swing program?

jverd wrote:
morgalr wrote:
It's not transportable across hardware, BIOS, nor may it be across versions of the OS. There are many "solutions" that are not impleneted comercially because they are "workably impossible", or in other words, just a pain nightmare to keep running.And even if you can stop a screenshot, will that stop remote control or desktop sharing tools, like RDP, VNC, logmein.com, Skype's desktop share, GoToMeeting, and so on, from transporting the display to some other computer, which cannot be prevented from taking a screenshot of software it has not installed?Yep, that is what meant when they say it's impossible to keep your software completely safe--there is no finite way of doing it, especially considering the ever changing state of technology. You may think you've covered all the bases, but then all of a sudden there are 100 more bases to cover. That part of the big puzzle that can be worked on and maintained, provides a multibillion dollar industry with job security.

Similar Messages

  • Screenshot capture

    I have a question
    Is there a way to write a code and apply it for every component at once.
    I used the example from this link: https://aptframework.dev.java.net/gooey/screenCapture.html
    public final class ScreenShot {
        /** The logger object for this class. */
        private static final Logger log = Logger.getLogger(ScreenShot.class);
        private static JFrame frame = (JFrame)XXX.getBeanFactory().getBean(XXX); //Parent's frame data
         * Empty Constructor
         * This allows the static local variable to be used in other classes
         * as their reference.
        private ScreenShot(){
            //Empty Constructor
         * Captures a screenshot by pressing a hotkey button
         * and, then it automatically saved to the specific
         * location path (i.e. C:/Screenshot folder)
        public static void captureScreenShot(KeyEvent kL){
            if (KeyEvent.getKeyText(kL.getKeyCode()).equals("F12")){
                /* File Unique Identifer:
                 * Each screenshot's filename has its own unique identifer
                 * to avoid being overwritten. (i.e. Screenshot1.jpg)
                int numFile = 0;
                 * Check if the filename is existed.
                 * If true - incrementing the numFile
                StringBuilder fileName = new StringBuilder();
                File f;
                do {
                     * Labeling the screenshot capture with a file name
                    fileName.delete(0, fileName.length());
                    fileName.append("Screenshot");
                    fileName.append(numFile);
                    fileName.append(".jpg");
                    //Pathname location
                    f = new File("C:/" + fileName.toString());
                    ++numFile;
                } while (f.exists());
                 * The image is being saved and adds to the pathname location.
                try {
                    Robot robot = new Robot();
                    BufferedImage image = robot.createScreenCapture(frame
                            .getBounds());
                    String strFileName = fileName.toString();
                    ImageIO.write(image, getImageExtName(strFileName), f);
                } catch (AWTException awtEx) {
                    log.error("Failure: Unable to capture a screenshot of a window: \n"
                                    + StackTraceString.asString(awtEx));
                } catch (IOException ioEx) {
                    log.error("Failure: Unable to identify the screenshot's file extension: \n"
                                    + StackTraceString.asString(ioEx));
         * Obtains the extension of a filename
         * Returns value of String
        protected static String getImageExtName(String fullFileName){
            if(fullFileName.endsWith(".jpg")){
                return "jpg";
            throw new IllegalArgumentException(fullFileName);
    }Then I added this code to the parent that contains all components:
    As a local static variable in the parent frame class-
         * KeyListener:
         * Listens to the buttons that are pressed on the keyboard.
         * If the "F12" button is being pressed, then it automatically
         * activates the performance of capturing the Screenshot.
        private static KeyListener keyStrokeListener = new KeyListener(){
            public void keyPressed(KeyEvent kE){
                ScreenShot.captureScreenShot(kE);
            public void keyReleased(KeyEvent kE){
                //Ignore - Required to include this to activate KeyListener()
            public void keyTyped(KeyEvent kE){
                //Ignore - Required to include this to activate KeyListener()
        };Inside the construct of the parent frame class:
        public ParentFrame(.................................) {
            super("Parent Frame Window");
            addKeyListener(keyStrokeListener);       
        }It only works if the parent frame has the focus. If I open a child window from the menu in the parent window, then the child window get the focus and the Screenshot is not working at all unless I added to all components like this:
    component.addKeyListener(keyStrokeListener);

    you don't add the keybindings to the frame, instead add it to the rootPane (or layeredpane),
    but I missed the 'child window' bit from your first post. In that case you're probably better off
    using an awtEventListener.
    simple demo (for F12 key)
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    class Testing
      public void buildGUI()
        JPanel p = new JPanel();
        JButton btn = new JButton("Show Dialog");
        p.add(btn);
        final JFrame f = new JFrame();
        f.getContentPane().add(p);
        f.setSize(400,300);
        f.setLocationRelativeTo(null);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setVisible(true);
        Toolkit.getDefaultToolkit().addAWTEventListener( new AWTEventListener(){
          public void eventDispatched(AWTEvent e)
            if(e.getID() == KeyEvent.KEY_PRESSED && ((KeyEvent)e).getKeyCode() == KeyEvent.VK_F12)
                System.out.println("F_12");
        }, AWTEvent.KEY_EVENT_MASK);
        btn.addActionListener(new ActionListener(){
          public void actionPerformed(ActionEvent ae){
            JDialog d = new JDialog(f);
            d.setModal(true);
            d.setSize(200,100);
            d.setLocationRelativeTo(f);
            d.setVisible(true);
      public static void main(String[] args)
        SwingUtilities.invokeLater(new Runnable(){
          public void run(){
            new Testing().buildGUI();
    }

  • A plug-in to prevent screen capture

    Hello,
    How can i write a plug-in that prevent screen capture.
    thank you very much.

    That's outside the scope of PDF and Acrobat - it's an OS-specific issue since the same question applies to if you had to write this as an application.
    Keep in mind that you are not only trying to stop the OS-native capture (aka Print Screen) BUT also all the myriad of 3rd party capture tools.
    Oh, and while you are at it - don't forget to prevent someone using their digital camera to take a picture of the monitor...

  • Prevent screen capture, copy and paste

    Hi guys,
    Can Java programming prevent screen capture? Is there any example that I can refer to?
    By the way, is there any example codes on how to disable the function copy and paste, as well as Ctrl + N to open a new browser with the same URL.
    Thanks

    Thanks for the speedy reply.
    I don't think the problem is the number of characters that
    can appear in the tooltip, as I'm having no problem with putting in
    as long a reference as I need. My problem is the actual cutting
    from the RH "document". If I try to cut a relatively short piece of
    text from RH, <100 characters say, and then paste it into word
    (which I did to check that there wasn't any weird formatting), I
    get a line break at between 80-90 characters and always on a
    complete word, i.e. it doesn't break in the middle of the word.
    I was hoping for some solution that would allow me to copy a
    reference from one part of my RH file and then paste the whole
    thing in to my tooltip, but if this is not solveable then I'll just
    have to build in some extra time to my project.
    Thanks again.

  • Paste clipboard screenshot capture into applet

    hi,
    im trying to find a way to paste a clipboard screenshot into a java applet. these are the steps:
    1. user presses alt+prtscn
    2. user copies screenshot capture into clipboard (control + c)
    3. WHAT I NEED TO DO: take screenshot capture and paste it into the applet by pressing control + v.
    im not sure how i make a placeholder for the image, if someone could explain that. also, after i put the image in the applet i would like to be able to save it in jpg/gif format.
    if anyone can help me out, please do. i can be emailed/reached at "i aim robin" on aim or [email protected] to discuss.
    thanks for your time.

    I'm not sure if an unsigned applet can do this. To get the system clipboard containing the image, call Toolkit.getSystemClipboard(), but I'm not sure if applets are restricted from accessing it. If you can get it, you'll have to parse the bytes to create the image (unless you can find a third-party class to do it). In a Windows environment, the screenshot images are like 32-bit bitmaps with a shortened file header. Also, unsigned applets cannot save files, so they cannot create the jpg and gif files. I hope this helps at least some.
    -JBoeing

  • IRM preventing screenshots in SharePoint Online

    Hello,
    We have IRM subscribed and configured for our SharePoint Online site, and it seems to work swimmingly, however, I expected it to prevent a screenshot from being taken. 
    See:
    https://support.office.com/en-us/article/Apply-Information-Rights-Management-to-a-list-or-library-3bdb5c4e-94fc-4741-b02f-4e7cc3c54aa1
    ===========
    How IRM can help protect content
    IRM helps to protect restricted content in the following ways:
    Helps to prevent an authorized viewer from copying, modifying, printing, faxing, or copying and pasting the content for unauthorized use
    Helps to prevent an authorized viewer from copying the content by using the Print Screen feature in Microsoft Windows
    Helps to prevent an unauthorized viewer from viewing the content if it is sent in e-mail after it is downloaded from the server
    Restricts access to content to a specified period of time, after which users must confirm their credentials and download the content again
    Helps to enforce corporate policies that govern the use and dissemination of content within your organization
    ===========
    It does not seem to prevent this...am I missing something obvious?  Thank you!

    My understanding is this is built into RMS/IRM and that there isn't any additional configuration. I have a couple of thoughts, let me know if these apply in your case. 
    1. Protecting against print screen only works with Windows print screen. 3rd party capture tools may bypass this and still allow a user to take a screenshot.
    2. The application needs to be opened in an RMS-aware application (e.g. the Office Suite, Word, Excel, PowerPoint, etc). 
    Jason Warren
    @jaspnwarren
    jasonwarren.ca
    habaneroconsulting.com/Insights

  • Slightly OT: bios screenshot capture device

    Somebody here (or perhaps on the Framers list) asked about techniques to get good bios screenshots. For those who might be interested, I just came across a good example of screens, and a mention of the video capture device used.
    Image: http://www.hardocp.com/image.html?image=MTI5NDcxNTE1M1NNSTgwSDVodGFfM18yX2wuZ2lm
    Tool:
    Dan_D, forum editor, said:
    "They are taken with an old school DVC-80 S-Video capture device using an S-Video output on an NVIDIA graphics card. The AMD / ATI's produce inferior results via S-Video so I never use those for screen shots."
    http://hardforum.com/showthread.php?s=a8982caf7410523d9bd17933692b157f&t=1578842&page=2

    I don't believe any Windows (or DOS) screen capture app can take a capture at the bios stage, no.
    It would require a custom BIOS to do that, because all that is running is BIOS firmware during those screens.
    However; historically, BIOS supported the [PrntScrn] key on the keyboard, and would dump a plain text copy of the current BIOS screen to the parallel (LPT) port.
    What happens on machines lacking LPT is unknown to me. I have even less clue on what EFI and UEFI implementations do with PrntScrn, if anything.
    The usual solution when you need an exact screen image is to use a digital camera.
    Use a shutter speed of 1/30 second or slower, to avoid any screen refresh or black-screen-insertion artifacts.
    Use whatever focal length provides the lowest pincushion or barrel distortion, usually telephoto.
    Use a tripod. Be on-axis. Use the self-portrait timer if you don't have a cable release.
    Set a custom white balance using an all-white screen.
    Since BIOS displays are 640x480, any Mpixel count over 1Mp will do to avoid sampling artifacts when you crop, de-rotate, resize or otherwise morph the image to the final 640x480.

  • Neuratron's Photoscope prevents Paper Capture from working

    I have been using Acrobat 9 Professional for some time without any problems.  I installed Sibelius5 with Neuratron's Photoscope a few weeks ago and Paper Capture simply stopped working. I tried repairing the installation, and finally uninstalled Acrobat and re-installed it to no avail. I have spent literally hours trying to fix this problem.
    I finally did a search here on the Acrobat forums and found the post: http://forums.adobe.com/message/1178373#1178373
    I found a copy of the Paper Capture driver drs832.dll located here: C:\Program Files\Adobe\Acrobat 9.0\Acrobat\plug_ins\PaperCapture and copied over the ******* version that Photoscope dumped in C:\Windows\System32. Now my Acrobat Paper Capture applications work perfectly once more.
    I just wanted to share and prevent anyone from going through what I've gone through.
    Acrobat ERROR Message encountered:
    "Acrobat could not access the recognition service because:  Unable to locate the Paper Capture recognition service.  Your installation may be corrupt. This is probably due to either a low memory situation or a corrupt installation.  If the problem is not clears up by shutting down other applications and/or rebooting, then please re-install Acrobat. Acrobat could not perform recognition (OCR) on this page because:"

    Thanks for sharing.

  • Validation of SAP End to End process,screenshots capture

    Mine is an automation SAP testing project using QTP 10.0
    We are supposed to send validation to onsite guys.
    We tried using HTML coding and also word document to capture the screenshots.
    Size will be very big for word document and for HTML the location was the BITMAP of the screens are saved are not accessible by onsite folks.
    Please help in finding the solution

    Hi Vikrant,
    Whenever you are integrating MDM with any SAP or NON-SAP system data flow takes place in the form of Files.
    If the data format are in the MDM understandable format then the data exchange can take place smoothly even without the use of XI,however if you are exchanging data in formats like Idocs or Bdocs which are not understandable by MDM then XI comes in the picture for data conversion and data monitoring purposes.
    If you data flow in the form of Idocs rae failing then you need to find the reason of failure by using Transactions to monitoring the status of the idocs for eg status 51 will point that there is a problem in the data.
    In this way you can test the integration of the scenario using XI in place.
    Note that creation of a master by entering into the ERP system like ECC is different than creaating the master through the form of an idoc.There are a lot of mandatory and optional like validations that may not be true in both the cases.
    So the only way is by monitoring the idocs flow nad faliure in the ECC system or XI system.
    Kindly refer the below thread:
    Re: Idoc failure
    Hope It Helped
    Thanks & Regards
    Simona Pinto

  • Video Screenshot Capture

    I need to capture a frame (pressing a button on stage) of a
    streming video coming from webcam in local system, and send this
    image to a DB when user confirms.
    How does AS do this?
    Is it possible in AS2?
    Thanks in advance!

    Simply didn't know wether it was possible in AS2 and/or AS3,
    and did not find a section for asking it once in spite of AS
    version.
    Than You

  • Screenshot capture fail

    I am facing a problem using the screen-capture option.
    when I use cmdctrl+shift4 or 3 it actually makes the sound that it captured my screen but I can't find the captured file on my desktop.
    I have also installed the "deeper" application and changed the path and set it to "my documents" instead of "desktop" but nothing happens either..!
    I wish someone knows how to deal with that.
    thank you!

    Doesn't it save to the Clipboard?
    Command-Shift-3/4 save to the Desktop.
    Message was edited by: Rod Fryer

  • ScreenShot Capture for Blackberry 10

    How to make the screen shot capture for Bb 10,I want to take the screen shot for my application
    Thanks
    Rakesh Shankar
    Solved!
    Go to Solution.

    Easy.
    Just press the Up and Down volume keys at the same time
    Love Me - Love My BlackBerry
    Z10 OS Version: 10.0.10.690
    Z10 Software Release: 10.10.90
    PlayBook - 2.1.0.1526

  • DVD Player screenshot capture?

    Hello -
    Can anyone please tell me how to capture a screen image on the DVD Player.
    Many thanks...

    When you are on the Image you want
    press PAUSE on the DVD player.
    Go up to File and Click on Get Disk Info.
    There you will see a little blank screen.
    Press Current Image and it will appear in this box.
    Now -- resume play
    StOP (not pause) the DVDand that image will appear.
    You can than either take a screen shot of it with Shift Command 3 or Cut it out with Shift Command 4.
    a little cumbersome but it does work
    GOD Bless and Good luck.

  • Video screenshot capturing

    Ever since I've gotten me a Mac I've been looking for an application that would be able to grab screen shots at even time intervals from a movie, and compile it all into one screenshot. I know that for Windows, Media Player Classic had the option to do so, but on the Mac I haven't found such app yet.
    I did give Screen Grabber 2.0.2 a shot, but it's quiet limited to the formats it can open, and it seems that the app is no longer supported.

    why not just a simple screencast instead?
    several suggestions:
    http://www.jingproject.com/
    http://store.shinywhitebox.com/home/home.html
    http://boinx.com/mousepose/overview/
    Surely you'd be able to just edit it in imovie or something?

  • Why won't Firefox fix the problem which prevents the Awesome Screenshot plug in from working in Firefox 5?

    After downloading this newest version of Firefox (5), the useful ADD ON 'AWESOME SCREENSHOT' WILL NOT WORK. COULD THIS PROBLEM BE FIXED BY YOU ALL.
    THANKS.

    Extensions are not part of Firefox and Mozilla is not responsible for them.
    Please provide the url along with the extension name to make it easier for others to see the problems.
    * '''Awesome Screenshot - Capture and Annotate''' :: Add-ons for Firefox<br>https://addons.mozilla.org/en-us/firefox/addon/awesome-screenshot-capture-/
    If you look at the extension you will see a Developer Comment
    * ****** We have submitted v2.3.1 which is compatible with Firefox 5 to further review. It'll come out soon. *******
    and if you look at "'''Show All Versions'''", you can find the updated version with orange-and-gray strips marked as "unreviewed" where you can download it.
    * https://addons.mozilla.org/en-us/firefox/addon/awesome-screenshot-capture-/versions/
    ''The following information can also be seen in my profile.''
    '''Keep your extensions up to date''', don't wait for a Firefox update and then try to do everything after the Firefox update.
    '''Research your''' extensions, some may have updates, some may be found in the developer comments or user comments on the add-on, or on the "'''View all versions'''" link which is part of the Release notes at the bottom of the add-on page.
    [https://addons.mozilla.org/firefox/addon/is-it-compatible/ '''Is It Compatible?''' :: Add-ons for Firefox], Are your add-ons compatible with the next version of Firefox? Find out straight from the Add-ons window!

Maybe you are looking for

  • Hierachy parent node retrieval

    Hi, I wanted to get the parent node name for the given node. Suppose If I go to Hierarchy table of profit center and enter a node name, it will display the parent id. from there, I would like to get the parent id's node name. How is it possible? is t

  • Iphone and vga adapters

    anyone know of a good vga adapter (if any) that can connect to the iphone so i can present my powerpoints slides in stead of using a computer....will the new iPad Dock Connector to VGA Adapter work with the iphone....do u know of anyone who has tried

  • 10.4.11 upgrade - bad to worse - catalog failure

    I did an upgrade to 10.4.11 and my bluetooth keyboard and mouse would no longer connect on reboot. I spent an hour on the support line and their recommendation was to archive & re-install (10.3). That was OK, but now I cant upgrade to 10.4.x as it fa

  • Naming standard

    hey,   can any post me how to follow the standards in xi from sld to ID because we r doing this for netweaver certifications.. plzzzzz its urgent          Thank You.

  • JAX RS libraries in Weblogic 12.1.2

    What all Jars are part of Jersey 2.4.1 available in WLS 12c Are jackson jars part of the bundle?