我创建了一个小型应用程序,允许用户捕获屏幕截图并将图像保存在用户定义的位置。它还允许用户捕获活动窗口的屏幕截图。
问题在于活动窗口。我了解到 Java 没有提供获取活动窗口屏幕截图的方法。于是,我google了一下,发现开发者一直在使用Alt+PrntScrn来获取截图,从剪贴板获取图片。
代码如下:
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);
现在发生的情况是,当机器人类按下 Alt 键时,焦点转到用户想要获取屏幕截图的应用程序的工具栏上,并且屏幕截图是从工具栏而不是窗口的工具栏上截取的。用户有重点。
请就如何解决此问题提出建议。