Detecting Mouse-Clicks Globally

This code sample shows how to detect a mouse click anywhere on the desktop and on any window.

screen-shot

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
'

Download Zipped Project (3k)



Comments

  • Stopping the fired event

    Posted by Legacy on 09/14/2003 12:00am

    Originally posted by: Gil Groman


    Great Utility!

    I would like to add to it the capability to stop the mouse click event.
    For 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?

    Reply
  • Mouse Co-Ordinates

    Posted by Legacy on 08/23/2003 12:00am

    Originally 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

    Reply
  • Keyboard status?

    Posted by Legacy on 07/10/2003 12:00am

    Originally 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.

    Reply
  • Awesome stuff

    Posted by Legacy on 01/08/2003 12:00am

    Originally posted by: Anthony Gill

    Thanks for the code! I was dreading the task of digging through my Win32 API tome. :) Works perfect!

    Reply
Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Nowadays, organizations can't afford to operate without an email security strategy. The threat landscape is constantly changing with new threats appearing every day. This white paper looks at email security in small and medium businesses (SMBs), the solutions available and what features SMBs cannot do without.

  • Custom applications deliver significant value. With the right tools, organizations can maximize the value of custom applications by accelerating and simplifying their development, and enabling IT to manage them in close alignment with business decision-makers. And by using a platform optimized for the development of custom applications, businesses can reduce costs, lower TCO, enhance agility, and accelerate the time to value for new business services. Read this white paper to learn how your organization can …

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date