Вниз
Скачать: CL | DM;

Общение с "чужим" приложением.   Найти похожие ветки 

 
addi   (2007-11-10 17:02) [0]

Здравствуйте.

Подскажите пожалуйста как можно отловить и распознать нажатие мышкой на кнопку, которая запускает выполнение определенных процедур приложением, которое не "собственное", зная его дескриптор(Handle)?

Заранее благодарен.


 
AlexanderMS ©   (2007-11-10 17:11) [1]

Можно поставить хук (Hook), хотя я не знаю, может быть, можно и по-другому.


 
addi   (2007-11-10 17:35) [2]

Если не трудно Вы не могли бы объяснить что такое Hook.


 
AlexanderMS ©   (2007-11-10 17:41) [3]


> Если не трудно Вы не могли бы объяснить что такое Hook.

http://www.delphimaster.ru/articles/hooks/index.html


 
AlexanderMS ©   (2007-11-10 17:43) [4]

Начало сложное у статьи, ИМХО, может шокировать начинающего.
Ловушка (hook) - это механизм Windows, позволяющий перехватывать события, предназначенные некоторому приложению, до того как эти события до этого приложения дойдут.


 
addi   (2007-11-10 17:49) [5]

Спасибо большое, попробую с hook.


 
AlexanderMS ©   (2007-11-10 19:04) [6]


> Спасибо большое, попробую с hook.


Может потребоваться также функция WindowFromPoint - для определения окна, находящегося под курсором.


 
SergeyIT   (2007-11-11 00:50) [7]


> нажатие мышкой на кнопку, которая запускает выполнение определенных
> процедур приложением

А если нажали на кнопку с клавиатуры?
Может лучше ловить сообщение от кнопки родителю. Можно WinSight"ом посмотреть.


 
AlexanderMS ©   (2007-11-11 05:13) [8]


> SergeyIT   (11.11.07 00:50) [7]


А можно ли кнопке свою WNDProc назначить? (Просто я не знаю) А потом вызывать по умолчанию. Что-то через хук громоздско будет.


 
SergeyIT   (2007-11-11 12:00) [9]


> Что-то через хук громоздско будет.

Это самое простое.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.021 c
2-1194937940
Layner
2007-11-13 10:12
2007.12.09
Массивы, обращение


11-1180370896
Rusya
2007-05-28 20:48
2007.12.09
Help: Обработчик OnDrawCell


2-1195214661
allucard
2007-11-16 15:04
2007.12.09
Delphi + firebird


3-1186049899
DmitrichJ
2007-08-02 14:18
2007.12.09
UpDate. Как изменить одну запись, если их несколько одинаковых?


3-1186498316
alex_tonk
2007-08-07 18:51
2007.12.09
DBLookupComboBoxEh




   Наверх