java - 有没有办法在使用java锁定窗口时获取屏幕截图?

标签 java awt screenshot

我使用下面的代码来截取窗口的屏幕截图,但当计算机锁定时它只返回空白图像(Alt + Ctrl + Del & lock)

我们是否可以使用 java 在锁定的计算机上截取屏幕截图..感谢任何帮助

 public void takeAScreenShot() throws AWTException, IOException 
 {      
        Dimension screenDimn = Toolkit.getDefaultToolkit().getScreenSize();
        Rectangle screenBoundary = new Rectangle(0, 0, screenDimn.width, screenDimn.height);

        Robot robot = new Robot();
        BufferedImage image =  robot.createScreenCapture(screenBoundary);

        File printScreenFile = new File("image" + System.currentTimeMillis() + ".png");
        ImageIO.write(image, "png", printScreenFile);
    }

最佳答案

没有办法使用 Java 来捕获它(至少据我所知)。原因是当计算机锁定时,没有任何内容可供机器人捕获。

可能有某种方法使用 c/c++ 来做同样的事情,但即使这样也可能会出现问题。

我所做的是使用 caffeine 以防止屏幕在远程计算机上执行长时间运行时自行锁定。

关于java - 有没有办法在使用java锁定窗口时获取屏幕截图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9612571/

相关文章:

java - RSA加密-AES key 解密并存储在文件中

java - String 是如何实现不变性的?

java.awt.Robot 未按预期运行

ios - 无法截取屏幕截图 - 屏幕尺寸和返回图像问题

Java:最小化窗口的 "Screenshot"?

ios - UILabel 未显示在屏幕截图中

java - 我们可以在 Windows 上安装两个版本的 Java JDK 吗?

java - 对数组进行排序以获取索引 0 处的指定元素

java - 从 GUI java 将对象的属性写入文件时出错

Java 菜单 AWT 进入面板