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.
ola amigo muy interesante el tema, pero tengo una pregunta como hago para ver lo que hace la otra pc, pero ya no x fotos sino como si fuera en tiempo real.
ResponderEliminarsi tienes ese ejemplo enviamelo a mi msn happy_11_17@hotmail.com
como aria para tomar fotos sin que uno sobreescriba a las demas
ResponderEliminartienes que hacer un timer para que se refresque la imagen entonces asi lo simularas mas tipo tiempo real !!
ResponderEliminarMuy buen post, ¿Se podrá bloquear el teclado o por lo menos la combinación de teclas Alt+Tab/Inicio+D/Alt+F4 con esta clase Robot?
ResponderEliminarMuy buen post, ¿Se podrá bloquear el teclado o por lo menos la combinación de teclas Alt+Tab/Inicio+D/Alt+F4 con esta clase Robot?
ResponderEliminaralguien me puede dar una sugerencia con esta clase? tal ves...resutla que he elboarado un programa en java que trabaja con codigo de barras para calcular la cantidad de stock que se va vendiendo...el asunto es que paso el lector de codigo de barra sobre un Jtextfield aprieto tecla ENTER y bueno los calculos lo hace perfecto la idea es userlo automatico tal ves esta clase me ayude ...si alguien tiene una sugerencia mi mail es seba266@yahoo.com.ar
ResponderEliminarHola amigo, queria saber como hacer para que el "bot" que estoy creando, haga clik en un lugar especifico dando unos patrones. por ejemplo recoger cajas siendo estas iguales, y solo en un lugar determinado
ResponderEliminarMuchas gracias si me puedes ayudar te lo agradeceria mucho
con esto en el inicio de tu ventana this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); no podran cerrar con alt f4 y si quieres mas ayuda this.setAlwaysOnTop(true); esta mantendra la vista sobre todas las cosas que esten abiertas :D
ResponderEliminarel problema con this.setAlwaysOnTop(true) es que pierde el foco de la ventana y si escribes algo no lo captura tu ventana java...
EliminarMe dio mucha risa andar buscando algo de este tema y conseguirme con tu post, jajjajaa, un abrazo saludos
ResponderEliminar