Mostrando entradas con la etiqueta simular. Mostrar todas las entradas
Mostrando entradas con la etiqueta simular. Mostrar todas las entradas

jueves, 29 de enero de 2009

La clase Robot en Java

10 comentarios
La clase Robot en java se encuentra en el paquete java.awt y tiene funcionalidades bastantes interesantes, para los que nos gusta improvisar con los códigos no viene de maravilla ya que sus funcionalidades se prestan para cosas bastante ocurrentes y útiles por su puesto.

1- Haciendo travesuras con el mouse:

Una de sus utilidades es simular la utilización del mouse por un usuario por ejemplo:


Robot robot = new Robot();

//Movemos el mouse a la posición de la pantalla que queramos

robot.mouseMove(x, y);

//presionamos el click derecho
robot.mousePress(InputEvent.BUTTON2_MASK);
robot.mouseRelease(InputEvent.BUTTON2_MASK);


2- El teclado esta loco:

Es posible simular las pulsaciones de teclas de un usuario utilizando alguna de las bondades que nos brinda Robot.

import java.awt.AWTException;
import java.awt.Robot;
import java.awt.event.KeyEvent;

public class test
{
/
public static void main(String[] args)
{
try
{
Robot robot = new Robot();
// abriendo el menu inicio
robot.keyPress(KeyEvent.VK_WINDOWS);
robot.keyRelease(KeyEvent.VK_WINDOWS);
// lanzando el explorerador
robot.keyPress(KeyEvent.VK_WINDOWS);
robot.keyPress(KeyEvent.VK_E);
robot.keyRelease(KeyEvent.VK_E);
robot.keyRelease(KeyEvent.VK_WINDOWS);
}
catch (AWTException e)
{
e.printStackTrace();
}
}
}

3- Espiando lo que pasa en la PC.

Nuestra mágica clase nos permite realizar capturas de nuestra pantalla con gran nitidez, hay que destacar que cuando realizamos esta función no se refleja el mouse en dicha imagen pero eso se puede resobre.

MouseInfo.getPointerInfo().getLocation().x;
MouseInfo.getPointerInfo().getLocation().y;

Resuelto el problema pasaremos al plato fuerte:

import java.awt.AWTException;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
public class test
{

public static void main(String[] args) throws IOException
{
try
{
Robot robot = new Robot();
BufferedImage pantalla = robot.createScreenCapture(new Rectangle (Toolkit.getDefaultToolkit().getScreenSize()));
File file = new File("C:\\captura.jpg");
ImageIO.write(pantalla, "jpg", file);
}
catch (AWTException e)
{
e.printStackTrace();
}
}
}

Dandole un buen uso a esta clase, obtendran sin dudas cosas muy interesantes.