15 мая 2022 года "Исходники.РУ" отмечают 22-летие присутствия в сети!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


Как программно сделать клик по кнопке.

Компилятор: C++ Builder 3.x

Для того, чтобы программно сделать клик по любому контролу в Window, достаточно послать ему эквивалентное сообщение мышки. Будьте осторожны и не посылайте слишком много сообщений одновременно, чтобы не переполнить буфер сообщений.

Пример:

void PressAButton(HWND h);

void TForm1::PressAButton(HWND h)
{
   PostMessage(h, WM_LBUTTONDOWN, 0 ,0);
   PostMessage(h, WM_LBUTTONUP, 0, 0);
}

void __fastcall TForm1::Button1Click(TObject *Sender)
{
   PressAButton(Button2->Handle);
}

void __fastcall TForm1::Button2Click(TObject *Sender)
{
   ShowMessage("CLICK");
}