Java를 사용하여 보조 Windows 10 데스크톱의 스크린샷을 찍을 수 있습니까?

Java를 사용하여 보조 Windows 10 데스크톱의 스크린샷을 찍을 수 있습니까?

여러 어댑터/화면이 있는 확장 데스크탑의 스크린샷을 찍으려면 다음 코드를 사용할 수 있습니다.

static void takeScreenShot(String path) throws AWTException, IOException {

    Rectangle screenRect = new Rectangle(0, 0, 0, 0);
    for (GraphicsDevice gd : GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices()) {
        screenRect = screenRect.union(gd.getDefaultConfiguration().getBounds());
    }
    BufferedImage capture = new Robot().createScreenCapture(screenRect);

    File output = new File(path);
    ImageIO.write(capture, "bmp", output);
}

하지만 제 경우에는 VGA 어댑터(온보드) 1개, 모니터(HDMI) 1개만 있고 새로운 Windows 10 가상 데스크톱 기능을 사용하고 있습니다.

Windows10MultipleDesktops.png

유사한 Java 프로그램을 사용하여 다른 가상 데스크탑의 스크린샷을 찍으려면 어떻게 해야 합니까?

(1920x2) 의 너비를 두 배로 늘려 보았지만 Rectangle픽셀 1920에서 3840까지 촬영한 스크린샷에서는 모두 검은색입니다.

블랙스크린샷.png

static void takeScreenShot(String path) throws AWTException, IOException {

    Rectangle screenRect = new Rectangle(0, 0, 1920*2, 1080);
    BufferedImage capture = new Robot().createScreenCapture(screenRect);

    File output = new File(path);
    ImageIO.write(capture, "bmp", output);
}

관련 정보