Mam napisane funkcje dla założenia globalnego hooka na mysz aby przy kliknięciu odświeżane były dane z bazy.
Problem polega na tym, iż po założeniu hooka na mysz kod odświeżania wykonywany jest w funkcji HookProcMouse przy każdej zmianie pozycji myszki a nie jak potrzebuję tylko przy kliknięciu lewym przyciskiem.
Funkcje wyglądają tak:
// zalożenie hooka
HookIDMouse:=SetWindowsHookEx(WH_MOUSE_LL, @HookProcMouse, hInstance, 0);
//... i funkcja wykonawcza -drugi parametr SetWindowsHookEx
function HookProcMouse(HookCode:Integer; MouseCode:wParam; KStrokeInfo:lParam): LResult; stdcall;
var
Struct: PKbdDllHookStruct; // dla pozycji myszy
begin
Struct:=Ptr(KStrokeInfo);
MouseCode:=WM_LBUTTONDOWN; // -->> ???
HookCode:=WM_LBUTTONDOWN; // -->> ???
if(HookCode=WM_LBUTTONDOWN)then // -->???
begin
{ ...tutaj wykonanie odświeżenia danych w bazie }
Result:=CallNextHookEx(HookIDMouse, HookCode, MouseCode, KStrokeInfo );
end;
end;
Proszę o pomoc w rozwiązaniu tego problemu.