Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: Servia en 22 Noviembre 2008, 16:29 PM

Título: [Ayuda] Clic en cierta posición del form.
Publicado por: Servia en 22 Noviembre 2008, 16:29 PM
Hola, buscando por internet he encontrado este código el cual hace clic en un botón, pero para ello usa una variable que mueve el cursor:

Private Const WM_LBUTTONDOWN = &H201
Private Const WM_LBUTTONUP = &H202
Private Declare Function PostMessageBynum Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Private Declare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long
Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Private Type RECT
         Left As Long
         Top As Long
         Right As Long
         Bottom As Long
End Type
Private Sub Command1_Click()
    Me.Print "Usted hizo click el el Command 1"
End Sub
Private Sub Command2_Click()
    Me.Print "Usted hizo click el el Command 2"
    Dim l As Long, PosX As Long, PosY As Long, PosXY As Long
    Dim lpRect As RECT
   Dim SendInput As Long
    l = GetWindowRect(Command1.hwnd, lpRect)
    PosX = lpRect.Left + ((lpRect.Right - lpRect.Left) / 2)
    PosY = lpRect.Top + ((lpRect.Bottom - lpRect.Top) / 2)
    l = SetCursorPos(PosX, PosY)
    PosXY = (PosY - lpRect.Top) * 65536 + (PosX - lpRect.Left)
    l = PostMessageBynum(Command1.hwnd, WM_LBUTTONDOWN, 0&, PosXY)
    l = PostMessageBynum(Command1.hwnd, WM_LBUTTONUP, 0&, PosXY)
End Sub

¿Existe otro método/variable para hacer lo mismo pero sin que use en ningún momento el cursor?
Título: Re: [Ayuda] Clic en cierta posición del form.
Publicado por: cassiani en 22 Noviembre 2008, 17:14 PM
Haces click para que se ejecute un procedimiento no? entonces por qué no llamarlo simplemente...

Private Sub Command1_Click()
    Me.Print "Usted hizo click el el Command 1"
End Sub

Private Sub Form_Activate()
    Call Command1_Click
End Sub
Título: Re: [Ayuda] Clic en cierta posición del form.
Publicado por: Servia en 22 Noviembre 2008, 17:30 PM
porque realmente no quiero que haga clic en un command sino en una página dentro de un webbrowser y no me sale.
Por lo que he entendido de el code que he puesto lo que hace es buscar la pos del botón y luego hacer clic en esa posición, pues si pongo un label o un button debajo del webbrowser las coordenadas serán las mismas pero hará clic en el webbrowser.
¿A que me complico la existencia?
Título: Re: [Ayuda] Clic en cierta posición del form.
Publicado por: seba123neo en 22 Noviembre 2008, 20:29 PM
Hola,ese codigo no sirve para ahcer lo que queres...vos qeures hacer como un auto-clikeo dentro del webbrowser, pues ese click debe ser un hipervinculo seguro..por lo tanto porque no directamente navegas a ese vinculo cada determinado timepo..?yo lo hice y funciona, por ejemplo para votar automaticamente en encuentas...

saludos.
Título: Re: [Ayuda] Clic en cierta posición del form.
Publicado por: Servia en 22 Noviembre 2008, 21:09 PM
Cita de: seba123neo en 22 Noviembre 2008, 20:29 PM
Hola,ese codigo no sirve para ahcer lo que queres...vos qeures hacer como un auto-clikeo dentro del webbrowser, pues ese click debe ser un hipervinculo seguro..por lo tanto porque no directamente navegas a ese vinculo cada determinado timepo..?yo lo hice y funciona, por ejemplo para votar automaticamente en encuentas...

saludos.

Pero el link va cambiando.
Conseguido,.
Título: Re: [Ayuda] Clic en cierta posición del form.
Publicado por: Servia en 2 Diciembre 2008, 22:31 PM
*****