Вопрос: Как сымитировать нажатие левой кнопки мыши?
Как мне сымитировать нажатие левой кнопки мыши? Чтоб по таймеру каждую секунду нажималась левая кнопка мыши?
Ответ :
Этот код жмёт.
code:
--------------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
INPUT inp[2];
memset(inp,0,sizeof(inp));
inp[0].type=INPUT_MOUSE;
inp[0].mi.dwFlags=MOUSEEVENTF_LEFTDOWN;
inp[1].type=INPUT_MOUSE;
inp[1].mi.dwFlags=MOUSEEVENTF_LEFTUP;
SendInput(2,inp,sizeof(INPUT));
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Timer1->Enabled=true;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Timer1->Enabled=false;
}
//---------------------------------------------------------------------------
--------------------------------------------------------------------------------
Этот код тоже жмет :
code:
--------------------------------------------------------------------------------
void TForm1::mouseClick( const TPoint p )
{
POINT pReal;
GetCursorPos( &pReal );
if ( pReal.y > 100 ) {
mouse_event( MOUSEEVENTF_LEFTDOWN, p.x, p.y, 0, 0 );
mouse_event( MOUSEEVENTF_LEFTUP, p.x, p.y, 0, 0 );
}
}
...
void __fastcall TForm1::tmMoveTimer( TObject *Sender )
{
do {
nextPos.x = (double)(rand() % WIDTH) * 1.8;
nextPos.y = (double)(rand() % HEIGHT) * 1.5;
} while ( curPos.x == nextPos.x || curPos.y == nextPos.y );
curPos = nextPos;
mouseClick( curPos );
}
--------------------------------------------------------------------------------
(c) 2003 Borland X Portal
|