Форум: "Система";
Текущий архив: 2003.05.22;
Скачать: [xml.tar.bz2];
ВнизВопрос про мышь Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c