Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Код нажатия кнопки и установки или снятия метки CheckBox в другом приложении

Delphi , Программа и Интерфейс , Приложения чужие

Код нажатия кнопки и установки или снятия метки CheckBox в другом приложении

Автор: Bramus

// Для приложений написанных на Delphi - TCheckBox, TButton, TBitBtn,
// для других языков - CheckBox, Button, BitBtn.

// Нажатие на кнопку:

procedure TForm1.Button1Click(Sender: TObject);
var
  h1, h2: hwnd;
begin
  h1 := FindWindow('tform2', nil);
  h2 := FindWindowEx(h1, 0, 'TBitBtn', '&No');
  SendMessage(h2, BM_CLICK, 0, 0);
end;

// Установка или снятие флажка:

procedure TForm1.Button2Click(Sender: TObject);
var
  h1, h2: hwnd;
begin
  h1 := FindWindow('tform2', nil);
  h2 := FindWindowEx(h1, 0, 'TCheckBox', 'Флажок');
  SendMessage(h2, BM_SetCheck, 1, 0);
end;

Привет! 😊

Вот перевод кода на русский язык:

Код для имитации кликов по кнопкам и переключения флажка в другой приложении. Функции FindWindow и FindWindowEx используются для поиска handle целевого окна (TForm2) и его дочерних контролов (кнопки TBitBtn для кликов и чекбокс TCheckBox для установки/проверки).

Вот разбор каждой процедуры:

Button1Click

procedure TForm1.Button1Click(Sender: TObject);
var
  h1, h2: HWnd;
begin
  h1 := FindWindow('tform2', nil); // найти handle TForm2
  h2 := FindWindowEx(h1, 0, 'TBitBtn', '&No'); // найти TBitBtn с заголовком "&No"
  SendMessage(h2, BM_CLICK, 0, 0); // имитировать клик по кнопке
end;

Эта процедура находит окно TForm2 и его дочернюю кнопку TBitBtn с заголовком "&No", а затем отправляет сообщение BM_CLICK кнопке для имитации клика.

Button2Click

procedure TForm1.Button2Click(Sender: TObject);
var
  h1, h2: HWnd;
begin
  h1 := FindWindow('tform2', nil); // найти handle TForm2
  h2 := FindWindowEx(h1, 0, 'TCheckBox', 'Флажок'); // найти TCheckBox с заголовком "Флажок"
  SendMessage(h2, BM_SETCHECK, 1, 0); // переключить флажок (установить в checked)
end;

Эта процедура находит окно TForm2 и его дочерний чекбокс TCheckBox с заголовком "Флажок", а затем отправляет сообщение BM_SETCHECK чекбоксу для переключения (установки в checked).

Обратите внимание, что эти процедуры предполагают, что целевое приложение имеет контролы с указанными именами (tform2, "&No", "Флажок"). Если контролы имеют другие имена, вам нужно будет изменить код соответствующим образом.

Также помните, что этот код использует функции Windows API и сообщения, которые могут не работать на платформах, отличных от Windows, или с приложениями, использующими.custom control implementations.

Код нажатия кнопки и установки или снятия метки CheckBox в другом приложении описывает использование Delphi для создания программы, которая может взаимодействовать с другими приложениями.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Приложения чужие ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-11-21 13:19:57/0.014044046401978/1