Usando a Classe Robot - pequeno exemplo desligando PC , Resolução de Tela 1024 por 768 pixels
2 respostas
A
andy11x
Esse pequeno Exemplo usando a Classe Robot
Para isso a Resolução de Tela tem que tar em 1024 por 768 pixels Todo começando a ler um pouco sobre…essa classe… todo conhecimento é válido…
valeu…
publicstaticvoidmain(Stringargs[])throwsAWTException,Exception{// A Classe Robot é usada para manipular eventos nos periféricos do sistema Operacional nativo. Robotrb=newRobot();rb.mouseMove(50,750);// Move o mouse até a posição x,y. (x Horizontal) - (y Vertical)rb.mousePress(InputEvent.BUTTON1_MASK);//Clicando com Botão Esquerdo .rb.mouseRelease(InputEvent.BUTTON1_MASK);// Solta o botão passado como parâmetro.rb.mouseMove(310,720);rb.mousePress(InputEvent.BUTTON1_MASK);rb.mouseRelease(InputEvent.BUTTON1_MASK);rb.mouseMove(510,285);rb.mousePress(InputEvent.BUTTON1_MASK);rb.mouseRelease(InputEvent.BUTTON1_MASK);}
Poderia alterar a resolução da tela para estas configurações, antes de executar os mouseMove, mousePress e mouseRelease.
Ou fazer um algoritmo para se mover na tela independente da resolução (um pouco mais difícil , mas acho que possível )
Tem também este exemplo aqui de Print Screen em Java (de uma olhada, vale a pena). Teve uma época de peguei os exemplos do marcobiscaro2112 e do pedroroxd, e fiz este, que captura independente da resolução da tela:
importjava.awt.AWTException;importjava.awt.Rectangle;importjava.awt.Robot;importjava.awt.Toolkit;importjava.awt.image.BufferedImage;importjava.io.File;importjava.io.IOException;importjava.util.logging.Level;importjava.util.logging.Logger;importjavax.imageio.ImageIO;publicclassFotos{privateRobotrobo;privateBufferedImageimg;privateFilearq;privateIntegernumFoto=0;finalStringpath="C:\\Documents and Settings\\All Users\\Desktop\\Fotos";publicFotos(){try{this.robo=newRobot();}catch(AWTExceptionex){Logger.getLogger(Fotos.class.getName()).log(Level.SEVERE,null,ex);}pastaFotos();}publicvoidpastaFotos(){this.arq=newFile(path);this.arq.mkdir();}publicvoidfotosCapturadas(){this.numFoto++;this.img=robo.createScreenCapture(newRectangle(Toolkit.getDefaultToolkit().getScreenSize()));this.arq=newFile(path+"\\f"+numFoto+".jpg");try{ImageIO.write(img,"jpg",arq);}catch(IOExceptionex){Logger.getLogger(Fotos.class.getName()).log(Level.SEVERE,null,ex);}this.img=null;this.arq=null;}publicstaticvoidmain(Stringargv[]){Fotosfotos=newFotos();while(true){fotos.fotosCapturadas();}}}