Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Como Posicionar el mouse en un area determinada

Estas en el tema de Como Posicionar el mouse en un area determinada en el foro de Visual Basic clásico en Foros del Web. Hola! Como puedo hacer para posicionar el mouse en un area predefinida de la pantalla, es decir en una ubicacion x,y fijadas por codigo para ...
  #1 (permalink)  
Antiguo 06/06/2008, 18:41
 
Fecha de Ingreso: noviembre-2007
Mensajes: 73
Antigüedad: 16 años, 5 meses
Puntos: 2
Pregunta Como Posicionar el mouse en un area determinada

Hola!

Como puedo hacer para posicionar el mouse en un area predefinida de la pantalla, es decir en una ubicacion x,y fijadas por codigo para que luego en esa ubicacion, que el raton haga click en dicha zona.

Saludos.
  #2 (permalink)  
Antiguo 07/06/2008, 00:49
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Como Posicionar el mouse en un area determinada

Hola,

lo puedes hacer con la API "SetCursorPos". En este ejemplo, al hacer click en un CommandButton, el puntero del ratón se posiciona en la "X" del Form:

Código:
Private Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
Private Declare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long

Private Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type

Private Sub Command1_Click()
    Dim Area As RECT
    GetWindowRect Form1.hwnd, Area
    SetCursorPos Area.Right - 15, Area.Top + 15
End Sub

  #3 (permalink)  
Antiguo 07/06/2008, 08:31
 
Fecha de Ingreso: noviembre-2007
Mensajes: 73
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Como Posicionar el mouse en un area determinada

He logrado lo mismo con:

Código:
SetCursorPos 100, 100
Ahora necesitaria que el mouse haga click, pero desde el codigo. Que simule que hace click. Como si fuese uno de esos programas Macro para automatizar tareas.
  #4 (permalink)  
Antiguo 07/06/2008, 09:24
 
Fecha de Ingreso: noviembre-2007
Mensajes: 73
Antigüedad: 16 años, 5 meses
Puntos: 2
Respuesta: Como Posicionar el mouse en un area determinada

Cita:
Iniciado por intercambioseo Ver Mensaje
He logrado lo mismo con:

Código:
SetCursorPos 100, 100
Ahora necesitaria que el mouse haga click, pero desde el codigo. Que simule que hace click. Como si fuese uno de esos programas Macro para automatizar tareas.
He logrado el click con el siguiente codigo:

Código:
Option Explicit
Private Declare Function SetCursorPos Lib "USER32" (ByVal X As Long, ByVal Y As Long) 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 MOUSEEVENTF_LEFTDOWN = &H2
Private Const MOUSEEVENTF_LEFTUP = &H4

Private Sub Timer1_Timer()
SetCursorPos 50, 800
Call MouseLeftClick(50, 800)
End Sub

Public Sub MouseLeftClick(ByVal PosX As Long, ByVal PosY As Long)
Call mouse_event(MOUSEEVENTF_LEFTDOWN, PosX, PosY, 0, 0)
Call mouse_event(MOUSEEVENTF_LEFTUP, PosX, PosY, 0, 0)
End Sub

Private Sub Form_Load()
Timer1.Interval = 3000
End Sub
  #5 (permalink)  
Antiguo 07/06/2008, 18:11
 
Fecha de Ingreso: junio-2008
Mensajes: 2
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: Como Posicionar el mouse en un area determinada

Cita:
Iniciado por intercambioseo Ver Mensaje
Hola!

Como puedo hacer para posicionar el mouse en un area predefinida de la pantalla, es decir en una ubicacion x,y fijadas por codigo para que luego en esa ubicacion, que el raton haga click en dicha zona.

Saludos.
Se muy poco de VB, y no se si te refieres a la propiedad TabIndex que tienen los objetos que ponermos en el formulario para que el cursor se posicione en ellos.
Yo lo pongo desde el codigo asi:
text1.setfocus si quiero que el cursor se me posicione en la caja text1.
Te repito no se nada de VB. estoy empezando
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 06:08.