Снимок экрана Java с использованием класса робота - PullRequest
0 голосов
/ 19 декабря 2010

Я использую класс робота для захвата и сохранения файла на диске C: в XP.Он работает нормально, но при использовании с Windows 7 я получаю исключение, в котором говорится, что доступ запрещен, доступ к файлу осуществляется нативным методом.

Это потому, что я использую диск C: а не системный каталог tmp или что-то еще?У меня нет Windows 7, чтобы проверить это здесь, поэтому спрашиваю.

Код выглядит примерно так:

Dimension screenSize;
Rectangle screenRectangle;
BufferedImage image;

for (int i=0; i<j; i++){
    img[i] = "C:\\"+(i+1)+".jpg"; //e.g 1.jpg saved in C: drive on 1st itr.
    screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    screenRectangle = new Rectangle(screenSize);
    image = robot.createScreenCapture(screenRectangle);
    ImageIO.write(image, "jpg", new File(img[i]));
}

1 Ответ

3 голосов
/ 19 декабря 2010

Разрешения на запись для корневого каталога по умолчанию отключены в Windows 7. Вы можете изменить свой код на

img[i] = (i+1)+".jpg";

, чтобы записать снимки экрана для того жекаталог, из которого вы запустили jvm.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...