Главная страница
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.021 c
3-70131
xxxCrazyManxxx
2003-04-30 17:26
2003.05.22
Как в делфи к переменной присвоить значение процедуры


14-70441
thing
2003-05-01 20:26
2003.05.22
Графика


11-70197
Avenger__
2002-08-14 01:57
2003.05.22
баг


1-70273
KSergey
2003-05-12 15:39
2003.05.22
Как бы выудить версию программы из свойств проекта?


1-70368
VOLKL
2003-05-10 12:29
2003.05.22
активация окна из треи