Module Mouse
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)
Public Declare Function SetCursorPos Lib "user32" (ByVal x As Long, ByVal y As Long) As Long
Public Declare Function GetCursorPos Lib "user32" (ByVal lpPoint As POINTAPI) As Long
Public Const MOUSEEVENTF_LEFTDOWN = &H2
Public Const MOUSEEVENTF_LEFTUP = &H4
Public Const MOUSEEVENTF_MIDDLEDOWN = &H20
Public Const MOUSEEVENTF_MIDDLEUP = &H40
Public Const MOUSEEVENTF_RIGHTDOWN = &H8
Public Const MOUSEEVENTF_RIGHTUP = &H10
Public Const MOUSEEVENTF_MOVE = &H1
Public Structure POINTAPI
Dim x As Long
Dim y As Long
End Structure
Public Function GetX() As Long
Dim n As POINTAPI
GetCursorPos(n)
GetX = n.x
End Function
Public Function GetY() As Long
GetY = n.y
Public Sub LeftClick()
LeftDown()
LeftUp()
End Sub
Public Sub LeftDown()
mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0)
Public Sub LeftUp()
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0)
Public Sub MiddleClick()
MiddleDown()
MiddleUp()
Public Sub MiddleDown()
mouse_event(MOUSEEVENTF_MIDDLEDOWN, 0, 0, 0, 0)
Public Sub MiddleUp()
mouse_event(MOUSEEVENTF_MIDDLEUP, 0, 0, 0, 0)
Public Sub RightClick()
RightDown()
RightUp()
Public Sub RightDown()
mouse_event(MOUSEEVENTF_RIGHTDOWN, 0, 0, 0, 0)
Public Sub RightUp()
mouse_event(MOUSEEVENTF_RIGHTUP, 0, 0, 0, 0)
Public Sub MoveMouse(ByVal xMove As Long, ByVal yMove As Long)
mouse_event(MOUSEEVENTF_MOVE, xMove, yMove, 0, 0)
Public Sub SetMousePos(ByVal xPos As Long, ByVal yPos As Long)
SetCursorPos(xPos, yPos)
End Module
'This will get the coordinates for the exact center of the screen
Dim intX As Integer = Screen.PrimaryScreen.Bounds.Width Dim intY As Integer = Screen.PrimaryScreen.Bounds.Height
'Moves the mouse to the center of the screen and a little bit down.
Mouse.SetMousePos(intX \ 2, intY \ 2 + 90)
'Click's on the coordinates
Mouse.LeftClick()