Ist es möglich, mit Java einen Screenshot eines sekundären Windows 10-Desktops zu erstellen?

Ist es möglich, mit Java einen Screenshot eines sekundären Windows 10-Desktops zu erstellen?

Wenn ich einen Screenshot eines erweiterten Desktops mit mehreren Adaptern/Bildschirmen machen möchte, kann ich diesen Code verwenden:

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

In meinem Fall habe ich jedoch nur einen VGA-Adapter (onboard) und einen Monitor (HDMI) und verwende die neue Funktion für virtuelle Desktops von Windows 10.

Windows10MultipleDesktops.png

Wie mache ich mit einem ähnlichen Java-Programm einen Screenshot des anderen virtuellen Desktops?

Ich habe versucht, die Breite Rectangle(1920 x 2) zu verdoppeln, aber von Pixel 1920 bis 3840 ist auf dem aufgenommenen Screenshot alles schwarz.

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

verwandte Informationen