Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Noobie en 29 Enero 2010, 11:59 am



Título: Simular click en otras aplicaciones
Publicado por: Noobie en 29 Enero 2010, 11:59 am
Hola! He podido armar una macro que mueve el mouse a las posiciones que indico desde una serie de textboxs y hace clikcs perfecto pero sólo en el escritorio, por ejemplo, yo lo mando a las posiciones x47 y1009, x82 y939, x328 y159, x593 y 250 que es para abrir el bloq de notas sólo reconoce el clikc que le se le hace a inicio, con las 3 posiciones restantes las hace y hace sus respectivos clicks en cada una pero siempre sobre el escritorio no hace clikc en Inicio>Todos los programas>Accesorios>Bloq de notas que es lo que yo busco sino que solo llega hasta la barra de tareas donde esta Inicio hasta allí luego continua haciendo los cliks sobre el escritorio.(lo de abrir el bloq de notas es solo una prueba no es que valla a hacer una macro solo para eso >.<)

Pongo parte de los codes a ver si me ayudan asi entienden mejor.

Aca declaro las APIs

Código:
Option Explicit

Private Declare Function SetCursorPos& Lib "user32" (ByVal X As Long, ByVal Y As Long)
Private Declare Sub mouse_event Lib "user32" (ByVal dwFlags As Long, ByVal dX As Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)

Private Const LEFT_DOWN = &H2
Private Const LEFT_UP = &H4

Luego simulo el clik izquierdo

Código:
Private Sub LeftClick()

 mouse_event LEFT_DOWN, 0&, 0&, X, Y
 mouse_event LEFT_UP, 0&, 0&, X, Y

End Sub

Y aqui un sub con las direcciones para que realize las acciones

Código:
Private Sub Accion()

    SetCursorPos Text1.Text, Text2.Text 'va hasta la posicion X(señalada en el texbox1) y la posicion Y(señalada en el textbox2)
    Call LeftClick 'aquí hace el click
    SetCursorPos Text3.Text, Text4.Text
    Call LeftClick
    SetCursorPos Text5.Text, Text6.Text
    Call LeftClick
    SetCursorPos Text7.Text, Text8.Text
    Call LeftClick
   
End Sub

Que le falta para que reconozca el click sobre las otras ventanas? porque en realidad si clikea fuera del form pero solo en el escritorio.
Gracias al que pueda responder,


Título: Re: Simular click en otras aplicaciones
Publicado por: Noobie en 29 Enero 2010, 12:30 pm
Disculpen hacia como 5 días que me habia trabado acá >.< y ahora me vino una idea que era en lugar de hacer las 4 acciones en un solo sub las dividi en 4 subs distintos y me salio XD.
Ahora teno una pregunta yo en mi aplicacion tengo 2 forms, el form2 es en el que tengo los 8textbox que configuran las posiciones donde se va a parar el mouse y el boton que realiza la accion, pero si yo una vez configurada las posiciones a las que tiene que ir el mouse quisiera cerrar el form2 y quedarme en el form1 y activar la accion con una tecla como podría hacer?