Description
This article shows how to simulate Mouse clicks by using a function called MouseClick()
which encapsulates the MouseEvent() function which, in turn, encapsulates the Win32 API mouse_event()
function.
Split.cpp
Usage
Copyright © 1997-2002 Rodolfo A. Frino. All rights reserved.
MouseClick Return value
On success MouseClicks returns true, on failure it returns false.
Failure means that an illegal value of LMR (Left-Middle-Right) was passed on the this function.
enum MouseButton
{
MOUSE_LEFT_BUTTON,
MOUSE_MIDDLE_BUTTON,
MOUSE_RIGHT_BUTTON
};
void MouseEvent( DWORD dwFlags, DWORD dx, DWORD dy )
{
//-------------------------------------------------------------
//We will use this function when
//dwData, // amount of wheel movement, and
//dwExtraInfo // 32 bits of application-defined information
// are not required
//-------------------------------------------------------------
mouse_event( dwFlags, dx, dy, 0, 0 );
}
bool MouseClick( int LMR, DWORD dx, DWORD dy )
{
switch( LMR )
{
case MOUSE_LEFT_BUTTON :
MouseEvent( MOUSEEVENTF_LEFTDOWN, dx, dy );
MouseEvent( MOUSEEVENTF_LEFTUP, dx, dy );
return true;
case MOUSE_RIGHT_BUTTON :
MouseEvent( MOUSEEVENTF_RIGHTDOWN, dx, dy );
MouseEvent( MOUSEEVENTF_RIGHTUP, dx, dy );
return true;
case MOUSE_MIDDLE_BUTTON :
MouseEvent( MOUSEEVENTF_MIDDLEDOWN, dx, dy );
MouseEvent( MOUSEEVENTF_MIDDLEUP, dx, dy );
return true;
default: return false;
}
}
SetCursorPos( X, Y );
MouseClick( MOUSE_RIGHT_BUTTON, 0, 0 );