Hola Danny.
Vuelvo a ser yo, Zoto.
Como te dije, aun tengo más código referente a lo que pides.
Así que lo he escrito aquí para que lo pegues en un MÓDULO.
Simplemente, deberás llamar a los procedimientos del código,
el cual he comentado bastante.
Aquí te lo doy.
Pega esto en un MÓDULO:
'==============================================
'==============================================
'CÓDIGO PARA EL MOUSE
'VISUAL BASIC 6.0
'Escrito por Zoto, para lawebdelprogramador.com
'Puedes usar este código libremente en tus programas
'Incluyendo este encabezado.
'==============================================
'==============================================
'===========
'APIs
'===========
Public 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) 'Para acciones de cursor (clicks)
Public Declare Function SetCursorPos Lib "user32" (ByVal X As Long, ByVal Y As Long) As Long 'Para posicionar cursor
Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long 'Para obtener posición del cursor
Public Declare Function ShowCursor& Lib "user32" (ByVal bShow As Long) 'Para mostrar el cursor y ocultarlo
Public Declare Function SwapMouseButton Lib "user32" (ByVal bSwap As Long) As Long 'Para intercambiar los botones del Mouse
'===========
'Constantes
'===========
Public Const MOUSEEVENTF_LEFTDOWN = &H2 'Constante para la API mouse_event: Evento LeftDown
Public Const MOUSEEVENTF_LEFTUP = &H4 'Constante para la API mouse_event: Evento LeftUp
Public Const MOUSEEVENTF_MIDDLEDOWN = &H20 'Constante para la API mouse_event: Evento MiddleDown
Public Const MOUSEEVENTF_MIDDLEUP = &H40 'Constante para la API mouse_event: Evento MiddleUp
Public Const MOUSEEVENTF_RIGHTDOWN = &H8 'Constante para la API mouse_event: Evento RightDown
Public Const MOUSEEVENTF_RIGHTUP = &H10 'Constante para la API mouse_event: Evento RightUp
Public Const MOUSEEVENTF_MOVE = &H1 'Constante para la API mouse_event: Evento Move
'===========
'Tipos
'===========
Public Type POINTAPI 'Tipo de datos necesario para la API GetCursorPos (para coordenadas)
X As Long
Y As Long
End Type
'============================================
'Procedimientos para el control del mouse
'============================================
Public Sub MoveMouse(X As Integer, Y As Integer)
'Mover el cursor a las coordenadas dados
On Error GoTo error
SetCursorPos X, Y
Exit Sub
error: MsgBox Err.Description, vbExclamation, "Error"
End Sub
Function MousePosition(X As Integer, Y As Integer)
'Devuelve las coordenadas del cursor (por referencia)
On Error GoTo error
If Index = 0 Then
MousePosition = Mid$(Str$(Mouse.X), 2, Len(Str$(Mouse.X)) - 1)
MousePosition = MousePosition + "," + Str$(Mouse.Y)
End If
Exit Function
error: MsgBox Err.Description, vbExclamation, "Error"
End Function
Public Sub LeftClick()
'Realiza un Click izquierdo
On Error GoTo error
LeftDown
LeftUp
Exit Sub
error: MsgBox Err.Description, vbExclamation, "Error"
End Sub
Public Sub LeftDown()
'Realiza Evento LeftDown del Mouse
On Error GoTo error
mouse_event MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0
Exit Sub
error: MsgBox Err.Description, vbExclamation, "Error"
End Sub
Public Sub LeftUp()
'Realiza Evento LeftUp del Mouse
On Error GoTo error
mouse_event MOUSEEVENTF_LEFTUP, 0, 0, 0, 0
Exit Sub
error: MsgBox Err.Description, vbExclamation, "Error"
End Sub
Public Sub MiddleClick()
'Realiza un click con el botón del medio del Mouse
On Error GoTo error
MiddleDown
MiddleUp
Exit Sub
error: MsgBox Err.Description, vbExclamation, "Error"
End Sub
Public Sub MiddleDown()
'Realiza Evento MiddleDown del Mouse
On Error GoTo error
mouse_event MOUSEEVENTF_MIDDLEDOWN, 0, 0, 0, 0
Exit Sub
error: MsgBox Err.Description, vbExclamation, "Error"
End Sub
Public Sub MiddleUp()
''Realiza Evento MiddleUp del Mouse
On Error GoTo error
mouse_event MOUSEEVENTF_MIDDLEUP, 0, 0, 0, 0
Exit Sub
error: MsgBox Err.Description, vbExclamation, "Error"
End Sub
Public Sub RightClick()
'Realiza un click derecho
On Error GoTo error
RightDown
RightUp
Exit Sub
error: MsgBox Err.Description, vbExclamation, "Error"
End Sub
Public Sub RightDown()
'Realiza Evento RightDown del Mouse
On Error GoTo error
mouse_event MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0
Exit Sub
error: MsgBox Err.Description, vbExclamation, "Error"
End Sub
Public Sub RightUp()
'Realiza Evento RightUp del Mouse
On Error GoTo error
mouse_event MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0
Exit Sub
error: MsgBox Err.Description, vbExclamation, "Error"
End Sub
Public Sub HideMouse()
'Esconde el cursor
On Error GoTo error
ShowCursor (bShow = False)
Exit Sub
error: MsgBox Err.Description, vbExclamation, "Error"
End Sub
Public Sub ShowMouse()
'Muestra el cursor
On Error GoTo error
ShowCursor (bShow = True)
Exit Sub
error: MsgBox Err.Description, vbExclamation, "Error"
End Sub
Public Sub SwapMouse()
'Intercambia los botones del cursor (izquierdo por derecho e izquierdo por derecho)
'Para restaurar los valores, volver a realizar la función
Dim res As Long
res = SwapMouseButton(True)
End Sub
'==============================================
'==============================================
'FIN DEL CÓDIGO
'==============================================
'==============================================
Bueno, pues hasta aquí termina el código para controlar el Mouse.
Espero que te sirva mucho, Danny y hasta la próxima.
Zoto