Можно ли сделать снимок экрана дополнительного рабочего стола Windows 10 с помощью Java?

Можно ли сделать снимок экрана дополнительного рабочего стола Windows 10 с помощью Java?

Если я хочу сделать снимок экрана расширенного рабочего стола с несколькими адаптерами/экранами, я могу использовать этот код:

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);
}

Но в моем случае у меня есть только 1 VGA-адаптер (встроенный), 1 монитор (HDMI), и я использую новую функцию виртуальных рабочих столов Windows 10.

Windows10MultipleDesktops.png

Как сделать снимок экрана другого виртуального рабочего стола с помощью аналогичной программы Java?

Я попробовал увеличить ширину вдвое Rectangle(1920x2), но от 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);
}

Связанный контент