Click to See Complete Forum and Search --> : Generate Mouse Events
July 30th, 1999, 07:37 AM
I've figured out how to set the mouse pointer X and Y positions with the API call SetCursorPos, but how can I generate a left mouse click? I tried this:
SendMessage 0, 513, 0, 0
(Where 513 = WM_LBUTTONDOWN)
But this had no effect.
Any ideas anyone? thanks
Nick
Andy K.
July 31st, 1999, 01:28 PM
Put this into a module
and use mouseclick (button)
public Function MouseClick(byval MBClick as enButtonToClick) as Boolean
Dim cbuttons as Long
Dim dwExtraInfo as Long
Dim mevent as Long
Select Case MBClick
Case mLeft
mevent = MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP
Case mRight
mevent = MOUSEEVENTF_RIGHTDOWN Or MOUSEEVENTF_RIGHTUP
Case mMiddle
mevent = MOUSEEVENTF_MIDDLEDOWN Or MOUSEEVENTF_MIDDLEUP
Case else
MouseClick = false
Exit Function
End Select
mouse_event mevent, 0&, 0&, cbuttons, dwExtraInfo
MouseClick = true
End Function
Andy K.
July 31st, 1999, 01:43 PM
Add this to module:
private Const MOUSEEVENTF_ABSOLUTE = &H8000
private Const MOUSEEVENTF_LEFTDOWN = &H2
private Const MOUSEEVENTF_LEFTUP = &H4
private Const MOUSEEVENTF_MIDDLEDOWN = &H20
private Const MOUSEEVENTF_MIDDLEUP = &H40
private Const MOUSEEVENTF_MOVE = &H1
private Const MOUSEEVENTF_RIGHTDOWN = &H8
private Const MOUSEEVENTF_RIGHTUP = &H10
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)
public Enum enButtonToClick
mLeft
mRight
mMiddle
End Enum
public Function MouseClick(byval MBClick as enButtonToClick) as Boolean
Dim cbuttons as Long
Dim dwExtraInfo as Long
Dim mevent as Long
Select Case MBClick
Case mLeft
mevent = MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP
Case mRight
mevent = MOUSEEVENTF_RIGHTDOWN Or MOUSEEVENTF_RIGHTUP
Case mMiddle
mevent = MOUSEEVENTF_MIDDLEDOWN Or MOUSEEVENTF_MIDDLEUP
Case else
MouseClick = false
Exit Function
End Select
mouse_event mevent, 0&, 0&, cbuttons, dwExtraInfo
MouseClick = true
End Function
codeguru.com
Copyright Internet.com Inc., All Rights Reserved.