Главная страница
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.01 c
1-70298
R
2003-05-13 03:13
2003.05.22
Быстрый перевод из String в Extended


1-70292
Cranium
2003-05-12 19:02
2003.05.22
Как дочернюю форму показать поверх остальных дочерних форм


3-70176
RDA
2003-05-02 12:51
2003.05.22
Проблема с кодировкой


1-70286
Vasiliy
2003-05-11 21:02
2003.05.22
Как отследить нажатие курсорных клавиш?


1-70364
Денчез
2003-05-09 20:42
2003.05.22
Как сделать так чтобы окошко появлялось плавно(прелоадер в 3DMark