Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.22;
Скачать: CL | DM;

Вниз

Вопрос про мышь   Найти похожие ветки 

 
dim- ©   (2003-03-22 19:47) [0]

В dll надо написать обработку событий мыши (клики и координаты), как узнать на каком компоненте произошел клик или текущие кооординаты если dll подключила другая программа и активизировала обработку мыши


 
DrPass ©   (2003-03-22 20:18) [1]

SetWindowsHookEx позволит узнать тебе координаты и виндовый дескриптор контрола, получившего мышиное событие. О том, какая это компонента, и компонента ли это вообще, ты не узнаешь - для винды нет такого понятия


 
dim- ©   (2003-03-22 21:08) [2]

Нашел в факе:
function SetHook:Boolean;
begin
if HookedAlready then exit;
ourHook:=SetWindowsHookEx(WH_MOUSE,@HookProc,HInstance,0);
HookedAlready:=True;
end;

ставит хук

function HookProc(Code:integer; wParam: Word; lParam: Longint): Longint;
begin
if (wParam=WM_LBUTTONDOWN) then MessageBeep(0);
result:=CallNextHookEx(ourHook,Code,wParam,lParam);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^а в этой зависает
end;


 
DrPass ©   (2003-03-22 21:22) [3]

Почему зависает, сказать трудно - возможно, просто не нужно было указывать дескриптор модуля (если HookProc в той же проге, что и SetWindowsHookEx, то дескриптор не указывается)
SetWindowsHookEx(WH_MOUSE,@HookProc,0,0);
В крайнем случае просто убери CallNextHookEx, прога все равно будет работать


 
dim- ©   (2003-03-23 00:20) [4]

не будет, а зависало надо было вызывать "function HookProc" как stdcall, но на других окнах она не реагирует (при щелчке на експлорере вобще перегружает експлорер), а надо чтобы обрабатывались нажатия на других программах


 
dim- ©   (2003-03-24 14:01) [5]

А все-же, как можно из dll отловить события мышки над формой вызвовшей эту dll?



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

Текущий архив: 2003.05.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
3-70129
BlackTiger
2003-04-30 16:06
2003.05.22
Как проинициализировать ADOConnection в сервисе?


14-70511
NA
2003-05-05 00:28
2003.05.22
Рандомизация всей страны, или Хаотичные движения мышью


1-70208
MAX22
2003-05-10 21:53
2003.05.22
Как досрочно завершить процедуру?


3-70148
anton2v
2003-04-22 15:16
2003.05.22
Невозможно удаление записей из указанных таблиц


1-70313
Саня
2003-05-08 14:03
2003.05.22
Сложение массивов