Detecting Mouse-Clicks Globally
Posted
by Aaron Young
on January 30th, 2004
The code works by utilising the GetAsyncKeyState API call that can check the status of keyboard and mouse input at any point in a programs processing.
A form is used with a timer that fires every 10th of a second to check for the VK_LBUTTON and VK_RBUTTON keystates (the left and right mouse buttons).
option Explicit
private Declare Function GetAsyncKeyState Lib "user32" _
(byval vKey as Long) as Integer
private Const VK_LBUTTON = &H1
private Const VK_RBUTTON = &H2
private Sub Form_Load()
Timer1.Interval = 100
End Sub
private Sub Timer1_Timer()
If GetAsyncKeyState(VK_LBUTTON) then
Label2.Caption = "Left Click"
ElseIf GetAsyncKeyState(VK_RBUTTON) then
Label2.Caption = "Right Click"
else
Label2.Caption = ""
End If
End Sub
'

Comments
Stopping the fired event
Posted by Legacy on 09/14/2003 12:00amOriginally posted by: Gil Groman
Great Utility!
I would like to add to it the capability to stop the mouse click event.
ReplyFor example when clicking on the task bar the task button will not restore an application if my VB program will not
allow it.
And what about the Title bar? could it be supported too?
Mouse Co-Ordinates
Posted by Legacy on 08/23/2003 12:00amOriginally posted by: Ram
Hi,
Good work1.But how to get the mouse coordinates when the user clicks on the window in this case(VK_LBUTTON)
Thnks
ReplyKeyboard status?
Posted by Legacy on 07/10/2003 12:00amOriginally posted by: Phil Johnstone
You mentioned in your tutorial that 'GetAsyncKeyState API call that can check the status of keyboard and mouse input' I was just wondering how you get the status of the keyboard using that API. Thanks in advance.
ReplyAwesome stuff
Posted by Legacy on 01/08/2003 12:00amOriginally posted by: Anthony Gill
Thanks for the code! I was dreading the task of digging through my Win32 API tome. :) Works perfect!
Reply