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

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

Помогите ламеру осуществить хитрый перехват нажатие кнопки? [D6, WinXP]


Пенсионер ©   (2002-09-13 12:35:00) 

Добрый день, зу меня такая проблема, мне приходится в 2 разных программы забивать одни и те же данные, не поделится ли кто кусочком кода по поводу следующего:
1 необходимо перехватить нажатие кнопки "записать"
2 выполнить свою процедуру(считать значение полей и записать их куда нада - это сделано)
3 послать сообщение кнопке "записать" на нажатие.


Shaman_Naydak   (2002-09-13 19:28:00) [1]

>nikkie
Вот это действительно здравый подход


nikkie   (2002-09-13 19:00:00) [2]

>Пенсионер
а если сделать чуть по-другому? вводить данные в своей программе, по нажатию кнопки вписывать данные в чужое окно и нажать чужую кнопку. будет по-проще, без хука


Song   (2002-09-13 15:19:00) [3]

Надо хук писать.


Пенсионер   (2002-09-13 13:24:00) [4]

первое приложение - стороннего производителя у меня нет исходных кодов... мне нужно перехватить нажатие в нем кнопки, скопировать из него данные, и только потом нажать ее программно из своего приложения. То есть работа с чужими окнами получается...


Trof   (2002-09-13 13:12:00) [5]

Пишете обработчик события в обеих программах в классах нужных форм:
procedure WMChar(var Message: TMessage); message WM_USER;
В них вызываете обработчик события нужной кнопки, например:
Button1.OnClick(nil)
В обработчиках нажатия кнопок OnClick проверяете Sender-а на nil (чтоб не зациклить).
Если не nil, кроме нужных действий посылаете второму окну сообщение:
PostMessage(<дескриптор окна>,WM_USER,0,0);
Дескриптор окна можно найти с помощью FindWindow


Пенсионер   (2002-09-13 12:57:00) [6]

Дело в том, что первое приложение - терминал стороннего производителя, второе мое. Причем в первом приложении информация не сохраняется а уходит безвозвратно из за чего приходится забивать все по 2 раза. Поэтому и приходится извращаться :( хотя программист из меня неахти какой...


BOA_KAA   (2002-09-13 12:47:00) [7]

Ничего не понял! А почему Вы не хотите просто обработать OnClick для кнопки?


Наверх

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