Foro de elhacker.net

Programación => Java => Mensaje iniciado por: danielo- en 26 Noviembre 2009, 05:57 am



Título: Controlar eventos del mouse
Publicado por: danielo- en 26 Noviembre 2009, 05:57 am
HOLA
QISIERA saber SI ME PUEDEN AYUDAR CON LOS EVENTOS DEl mouse

Lo que pas esque necesito manipular el mouse, pero utilizando Sockets, es decir que el servidor controle los movimientos del mouse de donde se este ejecutando un cliente...

Y quisiera saber si es necesario que haya un frame, es decir que si no puedo manipular el mouse pero fuera de un frame...ayuda porfavor!!


Título: Re: Controlar eventos del mouse
Publicado por: Leyer en 26 Noviembre 2009, 06:23 am
 aver quieres saber la localizacion del mouse sin usar un frame?



Título: Re: Controlar eventos del mouse
Publicado por: danielo- en 26 Noviembre 2009, 07:52 am
Si, quiero controlar el movimiento y los click  del mouse pero sin necesidad de estar sobre un frame osea, directamente en el escritorio del SO, para poder manipular el escritorio, y no solo el frame... ah y otra cosa, enviar esos movimientos por sockets  :rolleyes:


Título: Re: Controlar eventos del mouse
Publicado por: Blitzkrieg' en 26 Noviembre 2009, 13:39 pm
¿Que llevas del code?

Busca información sobre la clase Robot :)


Título: Re: Controlar eventos del mouse
Publicado por: Leyer en 26 Noviembre 2009, 15:59 pm
haa si es asi es muy facil

Código
  1. System.out.println(MouseInfo.getPointerInfo().getLocation().getX());
  2. System.out.println(MouseInfo.getPointerInfo().getLocation().getY());
  3.  

Saluidos.


Título: Re: Controlar eventos del mouse
Publicado por: danielo- en 26 Noviembre 2009, 17:40 pm
y esto me pondria el puntero en cualquier parte del escritorio? aun estando fuera de un frame??... Y si queiro hacer doble click??


Título: Re: Controlar eventos del mouse
Publicado por: Debci en 26 Noviembre 2009, 18:11 pm
y esto me pondria el puntero en cualquier parte del escritorio? aun estando fuera de un frame??... Y si queiro hacer doble click??
Te recomiendo que explores esa clase que L-EYER te ha dado.

Saludos


Título: Re: Controlar eventos del mouse
Publicado por: Leyer en 26 Noviembre 2009, 18:23 pm
Te recomiendo que explores esa clase que L-EYER te ha dado.
Saludos
[/quote]

es que le explico y le explico y no me entiende ni yo le entiendoo :-\

1º = Si quieres mover el mouse de la otra maquina solo tienes que hacer esto supongamos si quieres controlar el mouse del la otra maquina moviendo tu mouse es simple solo tienes que capturar tus movimientos con el trozo de code que te coloque y enviarlos como (String) continuamente.

puedes crear un hilo que que se encargue de esta tarea ya que recibira datos constantemente y que se inicie al inicio. supongamos que este es el hilo para mover el mouse
(Metodo run).
-------------------------------------
Código
  1. while(true){
  2.     String point =  bufferedReader.readLine(); // get coordenadas x, y para mover
  3.     ....
  4.     ....
  5.    // inicias el Robot y mueves el mouse dependiendo a las cordenadas.
  6.     }
  7. }
------------------------------------

2= Para hacer doble click?? usando conexion inversa no se como lo estaras haciendo es decir que el cliente se conecta a ti esto quiere decir que el (Cliente) usara ServerSocket y el (Server) usara Socket
para mover el mouse en el metodo run dond recibes String por parte del cliente colocas (ej) if(msg=="Click"){
//Inicializas el Robot y haces el clik
}

creo que mejor explicado imposible :P

Saludos..


Título: Re: Controlar eventos del mouse
Publicado por: danielo- en 26 Noviembre 2009, 18:30 pm
 :-X Bueno pero no te enojes L-EYER... jejeje...  ;D si... creo que me paso de pregunton... Bueno.. mejor checo los codigos y y luego pregunto mas concreto ... gracias  a todos!  :-*


Título: Re: Controlar eventos del mouse
Publicado por: Debci en 26 Noviembre 2009, 18:43 pm
Mir ate lo pongo sencillo:
Código
  1. Robot robot = new Robot();
  2.                Random y_random = new Random();
  3.                Random x_random = new Random();
  4.                x = x_random.nextInt() * x_random.nextInt() / 2 + i;
  5.                y = (y_random.nextInt()* x / x_random.nextInt());
  6.                robot.mouseMove(x, y);
  7.  
Ese codigo es para una pequeña broma, si lo metes en un bucle... haces malicias jeje....

Fijate en :

Código
  1. robot.mouseMove(x,y);


Con eso mueves a cualquier posicion de la pantalla.

Saludos


Título: Re: Controlar eventos del mouse
Publicado por: Blitzkrieg' en 26 Noviembre 2009, 18:47 pm
y para hacer click creo que es:

Código
  1. robot.mousePress(InputEvent.BUTTON1_MASK);
  2. robot.mouseRelease(InputEvent.BUTTON1_MASK);


Título: Re: Controlar eventos del mouse
Publicado por: danielo- en 26 Noviembre 2009, 19:41 pm
jajaja... ya aslio!!! ajua!!! asi era mas facil de explicar!!!! gracias D3bc1!!! y tambien a L-Eyer... si no es mucho pedir como haria para clickear dos veces y pues que en donde cliclkeo se ejecute algo, por ejemplo si tengo un archivo, y yo muevo el muse utilizando el robot, encima del archivo  le hago un doble click (robot.mousePress(InputEvent.BUTTON1_MASK);) se abra ese archivo? esque si lo selecciona pero no lo abre???  se usaria el presionado de la tecla enter?? o como???
----crei que seria por la velocidad del clickeo pero resulta que no es asi...pues le puse un tiempo de espera para poder hacer otro click...jejeje...
Bueno espero q me ayuden.. y les digo alrtato si funciona lo que manden, que ahora me toy yendo a la esc...  GRACIAS!!!!!! ;)


Título: Re: Controlar eventos del mouse
Publicado por: Blitzkrieg' en 26 Noviembre 2009, 20:03 pm
No mira,

Cuando le das mousePress el lo presiona pero no lo levanta, es decir, lo deja presionado.

Para hacer click normal, es decir, oprimir y soltar debes hacer mousePress y luego mouseRelease :)

Buenas suerte


Título: Re: Controlar eventos del mouse
Publicado por: Debci en 26 Noviembre 2009, 22:03 pm
jajaja... ya aslio!!! ajua!!! asi era mas facil de explicar!!!! gracias D3bc1!!! y tambien a L-Eyer... si no es mucho pedir como haria para clickear dos veces y pues que en donde cliclkeo se ejecute algo, por ejemplo si tengo un archivo, y yo muevo el muse utilizando el robot, encima del archivo  le hago un doble click (robot.mousePress(InputEvent.BUTTON1_MASK);) se abra ese archivo? esque si lo selecciona pero no lo abre???  se usaria el presionado de la tecla enter?? o como???
----crei que seria por la velocidad del clickeo pero resulta que no es asi...pues le puse un tiempo de espera para poder hacer otro click...jejeje...
Bueno espero q me ayuden.. y les digo alrtato si funciona lo que manden, que ahora me toy yendo a la esc...  GRACIAS!!!!!! ;)
Seria tan sencillo como hacer lo siguiente:

Código
  1. robot.mousePress(InputEvent.BUTTON1_MASK);
  2. robot.mouseRelease(InputEvent.BUTTON1_MASK);
  3. robot.mousePress(InputEvent.BUTTON1_MASK);
  4. robot.mouseRelease(InputEvent.BUTTON1_MASK);
  5.  
o mejor aun, usando la logica de la programacion:
Código
  1. int numClicks = 2;
  2. for(int i = 0; i<numClicks; i++) {
  3.  
  4. robot.mousePress(InputEvent.BUTTON1_MASK);
  5. robot.mouseRelease(InputEvent.BUTTON1_MASK);
  6. }
  7.  
  8.  
Y tan solo haria falta modificar la variable de tipo int y añadirle el valor que quiere decir el numero de clicks que hace, 1 por cada vuelta o loop del bucle for.

Saludos


Título: Re: Controlar eventos del mouse
Publicado por: Blitzkrieg' en 26 Noviembre 2009, 22:05 pm
Exacto, es mejor con un bucle for :)

Asi hago yo los clickers xDDD


Título: Re: Controlar eventos del mouse
Publicado por: Debci en 26 Noviembre 2009, 22:06 pm
Exacto, es mejor con un bucle for :)

Asi hago yo los clickers xDDD
Hoy estoy motivado, cumplo 15 añitos XD

Asi que aprovechaos que me vienen ideas a la cabeza xD

Saludos


Título: Re: Controlar eventos del mouse
Publicado por: Blitzkrieg' en 26 Noviembre 2009, 22:11 pm
Exacto, es mejor con un bucle for :)

Asi hago yo los clickers xDDD
Hoy estoy motivado, cumplo 15 añitos XD

Asi que aprovechaos que me vienen ideas a la cabeza xD

Saludos

Felicitaciones  :)


Título: Re: Controlar eventos del mouse
Publicado por: Debci en 26 Noviembre 2009, 22:21 pm
Codigo para todos, acabo de crear un mini virus de broma:

Código
  1. package robot;
  2.  
  3. import java.awt.AWTException;
  4. import java.awt.MouseInfo;
  5. import java.awt.Robot;
  6. import java.awt.Robot.*;
  7. import java.util.Random;
  8. import java.util.logging.Level;
  9. import java.util.logging.Logger;
  10.  
  11. /**
  12.  *
  13.  * @author debci
  14.  */
  15. public class Raton {
  16.    private static int x;
  17.    private static int y;
  18.    private static int y_box;
  19.    private static int x_box;
  20.    private static MSGBox msg;
  21. public static void main(String args[]) {
  22. for(int i = 2;i > 1;i++) {
  23.            try {
  24.                y_box++;
  25.                x_box++;
  26.                System.out.println(MouseInfo.getPointerInfo().getLocation().getX());
  27.                System.out.println(MouseInfo.getPointerInfo().getLocation().getY());
  28.                Robot robot = new Robot();
  29.                Random y_random = new Random();
  30.                Random x_random = new Random();
  31.                x = x_random.nextInt() * x_random.nextInt() / 2 + i;
  32.                y = (y_random.nextInt()* x / x_random.nextInt());
  33.                robot.mouseMove(x * 100, y * 100);
  34.                robot.delay(1000);
  35.  
  36.                //msg = new MSGBox();
  37.                //msg.setVisible(true);
  38.  
  39.                //msg.setLocation(y_box * 100, x_box * 100);
  40.  
  41.            } catch (AWTException ex) {
  42.                Logger.getLogger(Raton.class.getName()).log(Level.SEVERE, null, ex);
  43.            }
  44.  
  45. }
  46. }
  47. }
  48.  

Y el codigo de MSGBox:

Código
  1. /*
  2.  * MSGBox.java
  3.  *
  4.  * Created on 26-nov-2009, 18:29:57
  5.  */
  6.  
  7. package robot;
  8.  
  9.  
  10.  
  11. /**
  12.  *
  13.  * @author debci
  14.  */
  15. public class MSGBox extends javax.swing.JFrame {
  16.  
  17.    /** Creates new form MSGBox */
  18.    public MSGBox() {
  19.        initComponents();
  20.    }
  21.  
  22.    /** This method is called from within the constructor to
  23.      * initialize the form.
  24.      * WARNING: Do NOT modify this code. The content of this method is
  25.      * always regenerated by the Form Editor.
  26.      */
  27.    @SuppressWarnings("unchecked")
  28.    // <editor-fold defaultstate="collapsed" desc="Generated Code">
  29.    private void initComponents() {
  30.  
  31.        jLabel1 = new javax.swing.JLabel();
  32.        jButton1 = new javax.swing.JButton();
  33.        jLabel2 = new javax.swing.JLabel();
  34.  
  35.        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
  36.        addKeyListener(new java.awt.event.KeyAdapter() {
  37.            public void keyPressed(java.awt.event.KeyEvent evt) {
  38.                formKeyPressed(evt);
  39.            }
  40.        });
  41.  
  42.        jLabel1.setText("Owned by Debci");
  43.  
  44.        jButton1.setText("Pos vale...");
  45.  
  46.        jLabel2.setText("The power of programming!");
  47.  
  48.        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
  49.        getContentPane().setLayout(layout);
  50.        layout.setHorizontalGroup(
  51.            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  52.            .addGroup(layout.createSequentialGroup()
  53.                .addContainerGap()
  54.                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  55.                    .addComponent(jLabel1)
  56.                    .addComponent(jLabel2)
  57.                    .addComponent(jButton1))
  58.                .addContainerGap(211, Short.MAX_VALUE))
  59.        );
  60.        layout.setVerticalGroup(
  61.            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
  62.            .addGroup(layout.createSequentialGroup()
  63.                .addContainerGap()
  64.                .addComponent(jLabel1)
  65.                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
  66.                .addComponent(jLabel2)
  67.                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 14, Short.MAX_VALUE)
  68.                .addComponent(jButton1)
  69.                .addContainerGap())
  70.        );
  71.  
  72.        pack();
  73.    }// </editor-fold>
  74.  
  75.    private void formKeyPressed(java.awt.event.KeyEvent evt) {
  76.        System.out.println("Se ha presionado la tecla " + evt.getKeyText(evt.getKeyCode()));
  77.    }
  78.  
  79.    /**
  80.     * @param args the command line arguments
  81.     */
  82.    public static void main(String args[]) {
  83.        javax.swing.JFrame.setDefaultLookAndFeelDecorated(true);
  84.  
  85.        java.awt.EventQueue.invokeLater(new Runnable() {
  86.            public void run() {
  87.                new MSGBox().setVisible(true);
  88.  
  89.            }
  90.        });
  91.    }
  92.  
  93.    // Variables declaration - do not modify
  94.    private javax.swing.JButton jButton1;
  95.    private javax.swing.JLabel jLabel1;
  96.    private javax.swing.JLabel jLabel2;
  97.    // End of variables declaration
  98.  
  99. }
  100.  
Si compilamos tendremos una bonita broma en la cual no parand e abrirse ventanas y ademas no se puede controlar el raton, es inestable, y si subimos mucho el bucle puede saturar el pc(comprobado) ademas de no poder controlar el raton y no pode rparar el proceso.

Digamos que es un buen metodo para proteger vuestros virus de posibles cortadas de procesos.
Si le echamos imagiancion y hacemos que se añada al registro ni un apagado acabara con nuestra ejecucion (en el caso de linux, seria cuestion de añadirlo al script de inicio).

Saludos


Título: Re: Controlar eventos del mouse
Publicado por: Blitzkrieg' en 27 Noviembre 2009, 02:11 am
Buen code!


Título: Re: Controlar eventos del mouse
Publicado por: danielo- en 27 Noviembre 2009, 16:30 pm
Yeeeep!!... Si me a funcionado eso de mandar la posicion y que el mouse se mueva para donde quiero.. Ahora estoy intentando mandarlo por socket... pense que seria facil, pero...pue no e podido..., aun asi seguire intentanddo  ;D gracias por la ayuda


Título: Re: Controlar eventos del mouse
Publicado por: dark_hat en 27 Noviembre 2009, 16:40 pm
Prueba con la API SetWindowsHookEx
http://msdn.microsoft.com/en-us/library/ms644990(VS.85).aspx (http://msdn.microsoft.com/en-us/library/ms644990(VS.85).aspx)


Título: Re: Controlar eventos del mouse
Publicado por: 1mpuls0 en 27 Noviembre 2009, 23:23 pm
Codigo para todos, acabo de crear un mini virus de broma:

Código
  1. package robot;
  2.  
  3. import java.awt.AWTException;
  4. import java.awt.MouseInfo;
  5. import java.awt.Robot;
  6. import java.awt.Robot.*;
  7. import java.util.Random;
  8. import java.util.logging.Level;
  9. import java.util.logging.Logger;
  10.  
  11. /**
  12.  *
  13.  * @author debci
  14.  */
  15. public class Raton {
  16.    private static int x;
  17.    private static int y;
  18.    private static int y_box;
  19.    private static int x_box;
  20.    private static MSGBox msg;
  21. public static void main(String args[]) {
  22. for(int i = 2;i > 1;i++) {
  23.            try {
  24.                y_box++;
  25.                x_box++;
  26.                System.out.println(MouseInfo.getPointerInfo().getLocation().getX());
  27.                System.out.println(MouseInfo.getPointerInfo().getLocation().getY());
  28.                Robot robot = new Robot();
  29.                Random y_random = new Random();
  30.                Random x_random = new Random();
  31.                x = x_random.nextInt() * x_random.nextInt() / 2 + i;
  32.                y = (y_random.nextInt()* x / x_random.nextInt());
  33.                robot.mouseMove(x * 100, y * 100);
  34.                robot.delay(1000);
  35.  
  36. .
  37. .
  38. .
  39.  
Si compilamos tendremos una bonita broma en la cual no parand e abrirse ventanas y ademas no se puede controlar el raton, es inestable, y si subimos mucho el bucle puede saturar el pc(comprobado) ademas de no poder controlar el raton y no pode rparar el proceso.

Digamos que es un buen metodo para proteger vuestros virus de posibles cortadas de procesos.
Si le echamos imagiancion y hacemos que se añada al registro ni un apagado acabara con nuestra ejecucion (en el caso de linux, seria cuestion de añadirlo al script de inicio).

Saludos

Muy bueno, solo me preguntó porque tuve que ejecutarlo en mi compu (http://elmierdero.com/wp-includes/images/smilies/barba.gif) :xD
Qe buenas ideas tienes  :xD

Saludos


Título: Re: Controlar eventos del mouse
Publicado por: Leyer en 28 Noviembre 2009, 02:24 am
Muy bueno, solo me preguntó porque tuve que ejecutarlo en mi compu (http://elmierdero.com/wp-includes/images/smilies/barba.gif) :xD
Qe buenas ideas tienes  :xD

Saludos

 :laugh: :laugh: jajajjaja se verdad lo ejecutaste  :xD de seguro no viste el code.  : :¬¬

Saludos.


Título: Re: Controlar eventos del mouse
Publicado por: 1mpuls0 en 28 Noviembre 2009, 03:06 am
Muy bueno, solo me preguntó porque tuve que ejecutarlo en mi compu (http://elmierdero.com/wp-includes/images/smilies/barba.gif) :xD
Qe buenas ideas tienes  :xD

Saludos

 :laugh: :laugh: jajajjaja se verdad lo ejecutaste  :xD de seguro no viste el code.  : :¬¬

Saludos.

Si miré el code, inclusive lei cada uno de los posts y modifique un poco el code xD solo que no se que estaba pensando, estaba buena la movie  :xD


Título: Re: Controlar eventos del mouse
Publicado por: egyware en 28 Noviembre 2009, 03:06 am
Si no mal recuerdo deje un post sobre esto, ya veo que me han dejado en el olvido  :-[
Click Aqui (http://foro.elhacker.net/java/como_crear_un_troyano_en_java-t265225.0.html)
Perdonen la mala ortografia  :-[


PS: He vuelto  :laugh:


Título: Re: Controlar eventos del mouse
Publicado por: Blitzkrieg' en 28 Noviembre 2009, 03:09 am
O.o  La competencia para L-EYER  :-X

Igual todos estamos para ayudarnos entre nosotros  ;)


Título: Re: Controlar eventos del mouse
Publicado por: egyware en 28 Noviembre 2009, 03:12 am
Offtopic:
Por supuesto, sera una competencia sana, mas bien el me motivo a volver.
Ahora me toca ayudar, ya que el foro fue de gran ayuda para mi aprendisaje y casidiablo tb jamas lo olvidare men.


Título: Re: Controlar eventos del mouse
Publicado por: Leyer en 28 Noviembre 2009, 03:15 am
agy ¬ ¬  ya sabia yo :laugh: igual te falta mucho no eres competencia ¬¬

Saludos.


Título: Re: Controlar eventos del mouse
Publicado por: egyware en 28 Noviembre 2009, 03:20 am
Porfavor no nos salgamos del tema principal


Título: Re: Controlar eventos del mouse
Publicado por: Debci en 28 Noviembre 2009, 10:53 am
Podriamos montar un team p'ara hacer un R.A.T. en java, seria una buena manera de aprender!

Saludos


Título: Re: Controlar eventos del mouse
Publicado por: Blitzkrieg' en 28 Noviembre 2009, 17:37 pm
Podriamos montar un team p'ara hacer un R.A.T. en java, seria una buena manera de aprender!

Saludos

Te apoyo  ;D


Título: Re: Controlar eventos del mouse
Publicado por: Cocun en 14 Junio 2018, 16:02 pm
Hola estimado estoy iniciando en java mi consulta si me pueden ayudar es capturar el evento click desde cualquier parte d la pantalla osea fuera del frame de la aplicacion se los agradeceré mucho


Título: Re: Controlar eventos del mouse
Publicado por: egyware en 14 Junio 2018, 16:07 pm
¿Que planeas hacer?


Título: Re: Controlar eventos del mouse
Publicado por: Cocun en 14 Junio 2018, 16:29 pm
hola gracias por responder lo que quiero hacer es que al dar click en cualquier parte imprima en la consola hola mundo gracias


Título: Re: Controlar eventos del mouse
Publicado por: Cocun en 15 Junio 2018, 04:17 am
estimados si alguien tiene solución me lo puede hacer saber por aqui o por discord [Bloqueado] o mi wasap [Bloqueado] o mi correo [Bloqueado]


· Prohibido dar datos personales publicamente, los pasas por mp a quien te lo pida
>aquí las reglas del foro (http://foro.elhacker.net/reglas.htm)
-Engel Lex


Título: Re: Controlar eventos del mouse
Publicado por: egyware en 15 Junio 2018, 15:30 pm
Y has investigado algo?

Porque no me he topado con nada aún.

Por cierto, yo solo te responderé por aquí si encuentro algo, no te voy a contactar por otro medio.


Título: Re: Controlar eventos del mouse
Publicado por: Cocun en 15 Junio 2018, 17:51 pm
he estado buscando y no encuentro nada parece que solo se puede dentro de un jframe  :-[


Título: Re: Controlar eventos del mouse
Publicado por: engel lex en 15 Junio 2018, 18:19 pm
busca a ver si puedes enlazar la api de windows de eventos del mouse


Título: Re: Controlar eventos del mouse
Publicado por: Cocun en 16 Junio 2018, 00:59 am
Bueno ya que no encontré solución hice una simulación creando un jframe sin marcos lo pongo en fullscreem creo una captura de pantalla y la pongo en el frame, como es un frame puedo tener el evento mouseclicked donde escribo en consola hola mundo y cierro el frame y lo vuelvo a levantar con una nueva captura para coger los cambios de la pantalla si alguien ocupa mi codigo que no es mucho me avisa gracias


Título: Re: Controlar eventos del mouse
Publicado por: 0xFer en 16 Junio 2018, 03:35 am
Como dato existe la Java Native Interface (JNI) es un framework de programación que permite que un programa escrito en Java ejecutado en la máquina virtual java (JVM) pueda interactuar con programas escritos en otros lenguajes como C, C++ y ensamblador.