Clase Robot Java

Dando la Vuelta por internet buscando como hacer un Imprimir pantalal desde java llegue a la calse ROBOT de java qeu se me hizo bastante interesante y se me ocurren muchas cosas tanto buenas como malas=)

Esta es una clase que nos permite ejecutar cosas como usaurior normal de una computadora, mover el moouse( clic izq, clic Der), usar el teclado (escribir, usar combinaciones win+e ) .

Ejemplo una aplicacion que se al ejecutar hace una impresion de pantall,  mueve el mouse a un posicion y da clic derecho despues ejecuta un win + r  escribiendo cmd  espera unos milisegundos y escribe dir .

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package robot.capturar.pantalla;

import java.awt.*;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import java.awt.image.*;
import java.io.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;

/**
*
* @author lNpl
*/
public class CapturarPantalla {

static public void captureScreen(String fileName) throws Exception {
Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
Rectangle screenRectangle = new Rectangle(screenSize);
Robot robot = new Robot();
BufferedImage image = robot.createScreenCapture(screenRectangle);
ImageIO.write(image, “png”, new File(fileName));

}

static public void moverMouse(int x, int y) throws AWTException {
Robot robot = new Robot();
//Movemos el mouse a la posición de la pantalla que queramos
robot.mouseMove(x, y);
//click derecho
robot.mousePress(InputEvent.BUTTON3_DOWN_MASK);
robot.mouseRelease(InputEvent.BUTTON3_DOWN_MASK);
// Escribir un comentario java //hola
robot.keyPress(KeyEvent.VK_DIVIDE);
robot.keyRelease(KeyEvent.VK_DIVIDE);
robot.keyPress(KeyEvent.VK_DIVIDE);
robot.keyRelease(KeyEvent.VK_DIVIDE);
robot.keyPress(KeyEvent.VK_H);
robot.keyRelease(KeyEvent.VK_H);//hola
robot.keyPress(KeyEvent.VK_O);
robot.keyRelease(KeyEvent.VK_O);
robot.keyPress(KeyEvent.VK_L);//hola
robot.keyRelease(KeyEvent.VK_L);
robot.keyPress(KeyEvent.VK_A);
robot.keyRelease(KeyEvent.VK_A);

try {
Thread.currentThread().sleep(1 * 1000);
} catch (InterruptedException ex) {
Logger.getLogger(CapturarPantalla.class.getName()).log(Level.SEVERE, null, ex);
}

}
//hola
public static void teclado() {
try {
Robot robot = new Robot();

//win+e explorardor
// robot.keyPress(KeyEvent.VK_WINDOWS);cmd
//Win + r ejecutar
robot.keyPress(KeyEvent.VK_WINDOWS);
robot.keyPress(KeyEvent.VK_R);
robot.keyRelease(KeyEvent.VK_R);
robot.keyRelease(KeyEvent.VK_WINDOWS);
try {
Thread.currentThread().sleep(600);
} catch (InterruptedException ex) {
Logger.getLogger(CapturarPantalla.class.getName()).log(Level.SEVERE, null, ex);
}
//texto
robot.keyPress(KeyEvent.VK_C);
robot.keyRelease(KeyEvent.VK_C);//hola
robot.keyPress(KeyEvent.VK_M);
robot.keyRelease(KeyEvent.VK_M);
robot.keyPress(KeyEvent.VK_D);
robot.keyRelease(KeyEvent.VK_D);
robot.keyPress(KeyEvent.VK_ENTER);

try {
Thread.currentThread().sleep(900);
} catch (InterruptedException ex) {
Logger.getLogger(CapturarPantalla.class.getName()).log(Level.SEVERE, null, ex);
}
robot.keyPress(KeyEvent.VK_D);
robot.keyRelease(KeyEvent.VK_D);//hola
robot.keyPress(KeyEvent.VK_I);
robot.keyRelease(KeyEvent.VK_I);
robot.keyPress(KeyEvent.VK_R);
robot.keyRelease(KeyEvent.VK_R);
robot.keyPress(KeyEvent.VK_ENTER);

} catch (AWTException e) {
e.printStackTrace();
}
}

public static void main(String[] args) {
try {
System.out.println(“[ Captura iniciada ]”);
//sleep 5 sg
// Thread.currentThread().sleep(5 * 1000);
// String FILENAME = “/home/jose/Desktop/captura01.png”;
String FILENAME = “captura01.png”;
CapturarPantalla.captureScreen(FILENAME);
System.out.println(“[ Captura finalizada ]”);
CapturarPantalla.moverMouse(800, 400);
CapturarPantalla.teclado();
} catch (Exception e) {
e.printStackTrace();
}
}
//—-
}
//end of class Captura

Saludos.

lNpl

Anuncios

Etiquetas: , ,

Una respuesta to “Clase Robot Java”

  1. lol Says:

    muy buen post pero yo ando buscando algo mas sencillo aver si tu me ayudas yo busco un capturador de pantalla q al precionar clic capture la pantalla y luego guarde la imagen mas nada

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s


A %d blogueros les gusta esto: