Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Нажать на кнопку дрогого приложения [Win95/98, WinME]


cad ©   (2002-03-04 08:47:00) 

Подскажите, пожалуйста, как нажать на орпеделенную кнопку (знаем ее caption) на определенной форме (знаем тоже ее caption) другого приложения?
ОбЪясните пожалуйста по подробнее: я полный ламер.
Спаибо.


Koster   (2002-03-05 07:07:00) [1]

>Севостьянов Игорь: к сожалению не все кнопки реагируют на сообщение WM_CLICK. Чуть надежнее будет так:

bt := FindWindowEx(h, 0, "Button", "&Пропустить");
// где Button класс окна кнопки, &Пропустить ее Caption,
if bt 0 then begin
SendMessage(bt, WM_LBUTTONDOWN, 10 + 10 * 65536, MK_LBUTTON);
SendMessage(bt, WM_LBUTTONUP, 10 + 10 * 65536, 0);
end;

10 + 10 * 65536 - щелкаем в координатах (10,10) окна кнопки. Можно сюда вписать и другие координаты. h - handle окна формы, ищется как было показано выше через FindWindow


Севостьянов Игорь   (2002-03-05 00:16:00) [2]

Нажмем например кнопку "Start"

var StartButton: HWND;
begin
StartButton := FindWindowEx(FindWindow("Shell_TrayWnd", nil),0,"Button", nil);
SendMessage(StartButton, BM_CLICK, 0, 0);
end;


проверял на D5+Win2000 - работает - вопросы по мылу


Bobyr   (2002-03-04 10:32:00) [3]

Если эта кнопка одна, то можно вызвать ее функицию ч/з ShellExecute


MBo   (2002-03-04 09:21:00) [4]

в форуме WinApi поройся


GenBr   (2002-03-04 08:55:00) [5]

Никак. Чтобы приложение могло принимать команды из других приложений оно должно поддерживать COM-автоматизацию


Наверх

Титульная страница Поиск, карта сайта Написать письмо