Сборник часто задаваемых вопросов по программированию в среде Borland C++ Builder

           

Как сымитировать нажатие...



Вопрос: Как сымитировать нажатие левой кнопки мыши? Как мне сымитировать нажатие левой кнопки мыши? Чтоб по таймеру каждую секунду нажималась левая кнопка мыши?

Ответ : Этот код жмёт. 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 ); } --------------------------------------------------------------------------------

Содержание раздела