Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: -sagitari- en 19 Junio 2006, 22:27 pm



Título: Doble click automático al botón cada X ''
Publicado por: -sagitari- en 19 Junio 2006, 22:27 pm
Pues que no sé muy bien aún cómo hacer para que en un programa, que hay un botón cada x segundo se clickee dos veces el botón (sin tener que hacerlo yo)...


Si me podéis echar un cable...


Título: Re: Doble click automático al botón cada X ''
Publicado por: Hendrix en 19 Junio 2006, 22:56 pm
En el foro yo pregunte algo asi.....se hace kon una API (que ahoramismo no me akuerdo de komo se llama)....aunke tendras que buskar als koordenadas de este boton...esto tampoko es deficil...y luego, kuando tengas las koordenadas, lo pones en la API y listo.... ;D ;D ;D

Salu2



Título: Re: Doble click automático al botón cada X ''
Publicado por: -sagitari- en 19 Junio 2006, 22:59 pm
En el foro yo pregunte algo asi.....se hace kon una API (que ahoramismo no me akuerdo de komo se llama)....aunke tendras que buskar als koordenadas de este boton...esto tampoko es deficil...y luego, kuando tengas las koordenadas, lo pones en la API y listo.... ;D ;D ;D

Salu2




no sé con qué palabras lo puedo buscar :S...


Título: Re: Doble click automático al botón cada X ''
Publicado por: hardkoo en 20 Junio 2006, 19:24 pm
Nuse si es bien bien lo k buskas, pero yo ice 1 programa ace tiempo que lo que hacia era capturar las coordenadas dl raton, y dspues simulaba 1 doble click en esas mismas coordenadas.
Te pongo el code aki aver si te sirve:

En el form:
Código:
Const MOUSEEVENTF_LEFTDOWN = &H2
Const MOUSEEVENTF_LEFTUP = &H4

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 Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long

Private Sub Command1_Click()
    Dim Res As Long
x = Text1.Text
y = Text2.Text
    Res = SetCursorPos(x, y)
    mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_LEFTDOWN, x, y, 0, 0
    mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_LEFTUP, x, y, 0, 0
    mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_LEFTDOWN, x, y, 0, 0
    mouse_event MOUSEEVENTF_ABSOLUTE Or MOUSEEVENTF_LEFTUP, x, y, 0, 0
End Sub

Private Sub Timer1_Timer()
    Dim Posicion As POINTAPI
   
    GetCursorPos Posicion
   
     Text1.Text = Posicion.x
     Text2.Text = Posicion.y
Timer1.Enabled = False
End Sub

Private Sub Command2_Click()
Timer1.Enabled = True
End Sub

Y en un modulo (para capturar las coordenadas):
Código:
Option Explicit

Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long

Type POINTAPI
    x As Long
    y As Long
End Type

Los textbox k hay en el code no harian muxa falta, los puse para que se vieran + cosas en el programa xD. Y en el timer1 puse un intervalo d 5segundos para que te diera tiempo a situar el cursor en el lugar y a los 5 segundos capturara las cordenadas.

Aki te pongo tmb, las opciones que tienes en el mouse_event:

Const MOUSEEVENTF_MOVE = &H1 '  movimiento del mouse
Const MOUSEEVENTF_LEFTDOWN = &H2 '  botón izquierdo presionado
Const MOUSEEVENTF_LEFTUP = &H4 '  botón izquierdo soltado
Const MOUSEEVENTF_RIGHTDOWN = &H8 '  botón derecho presionado
Const MOUSEEVENTF_RIGHTUP = &H10 '  botón derecho soltado
Const MOUSEEVENTF_MIDDLEDOWN = &H20 '  botón central presionado
Const MOUSEEVENTF_MIDDLEUP = &H40 ' botón central soltado
Const MOUSEEVENTF_ABSOLUTE = &H8000 '  movimiento absoluto

-salu2-


Título: Re: Doble click automático al botón cada X ''
Publicado por: Hans el Topo en 20 Junio 2006, 21:57 pm
Pues que no sé muy bien aún cómo hacer para que en un programa, que hay un botón cada x segundo se clickee dos veces el botón (sin tener que hacerlo yo)...


Si me podéis echar un cable...

yo lo k haría sería meter un timer... le pones le interval k kieras (cada segundo son 1000 de interval creo...) y k el timer llamase al suceso doble click... xd

private sub timer1 ()
 command1_DblClick()
end sub


Título: Re: Doble click automático al botón cada X ''
Publicado por: Hans el Topo en 20 Junio 2006, 21:59 pm
conio, acabo de mirarlo y no tiene el botón evento doble click...
una preguntita... ¿para que quieres que haga doble click el botón?


Título: Re: Doble click automático al botón cada X ''
Publicado por: -sagitari- en 20 Junio 2006, 22:14 pm
pero eso solamente le da un click xD

pero esto de buscar las coordenadas... no lo veo yo... porque

sabiendo que el click se le da al botón......



Título: Re: Doble click automático al botón cada X ''
Publicado por: Hans el Topo en 20 Junio 2006, 22:19 pm
pero eso solamente le da un click xD

pero esto de buscar las coordenadas... no lo veo yo... porque

sabiendo que el click se le da al botón......



¿para que quieres que de dblclick?
es que el botón según he mirado no tiene el evento dblclic ...xddxd
solo tiene el click...


Título: Re: Doble click automático al botón cada X ''
Publicado por: hardkoo en 20 Junio 2006, 22:31 pm
ok ok, ntonces entendi mal.. jeje me creia que te referias a un programa externo.. (por eso te ponia lo d las coordenadas)... Pero un doble click en un boton? tampoco se muy bien para que lo kieres... kizas llamando al boton 2 veces es lo que quieres:

Código:
Private Sub Timer1_Timer()
Call Command1_Click
Call Command1_Click
Timer1.Enabled = False
End Sub

-salu2-