I've created a small application that allows the user to capture the screenshot and save the image at a user defined location. It also allows the user to capture the screenshot of the active window as well.
The issue is with the active window. I have learnt that Java does not provide a method to get the screenshot of the active window. So, I googled and found that developers have been using the Alt+PrntScrn to get the screenshot and get the image from the clipboard.
The code for this is:
robot.keyPress(KeyEvent.VK_ALT); robot.keyPress(KeyEvent.VK_PRINTSCREEN); robot.keyRelease(KeyEvent.VK_PRINTSCREEN); robot.keyRelease(KeyEvent.VK_ALT); Thread.sleep(1500); RenderedImage image = (RenderedImage)getClipboard(); saveToImage(image,targetLocation);
Now what happens is that when the Alt key is pressed by the robot class, the focus goes on the toolbar of the application of which the user wants to get the screenshot and the screenshot is taken of the toolbar and not that of the window that the user has focus on.
Please advise on how to solve this problem.