Получить скриншот на Windows сервере - PullRequest
0 голосов
/ 09 апреля 2020

Я пытаюсь получить скриншоты с сервера Windows Server с классом Robot.

Проблема в том, что если я не вошел в систему, программа возвращает мне черный экран. В противном случае, я могу получить скриншот отлично.

Я думаю, что есть проблема с сеансами входа в систему. Может быть, есть способ создать сеанс без входа в систему, чтобы получить скриншоты. Потому что я также думаю, что серверный компьютер создает виртуальный дисплей при входе в систему и уничтожает его при выходе из системы.

Можно ли получить снимок экрана без входа в систему?

Вот как Я получаю скриншот:

@SneakyThrows
    public static void captureToBase64() {
        System.setProperty("java.awt.headless", "false");

        try {
            BufferedImage image = new Robot().createScreenCapture(new Rectangle(new Dimension(1920, 1080)));
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            ImageIO.write(image, "jpg", baos);
            baos.flush();
            byte[] encodeBase64 = Base64.encodeBase64(baos.toByteArray());
            String base64Encoded = new String(encodeBase64);
            baos.close();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...