Hallo,
ich habe hier mal ein Code für dich:
Delphi-Quellcode:
private
i: Integer;
MouseHook: HHOOK;
.
.
{--[MouseHookProc]-------------------------------------------------------------}
function MouseHookProc(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
begin
If nCode = HC_ACTION then
begin
If lParam <> 0 then with PEventMsg(lParam)^ do
begin
If Message = WM_MOUSEWHEEL then
begin
Inc(Form1.i);
Form1.Label1.Caption := IntToStr(Form1.i);
end;
end;
end;
Result := CallNextHookEx(Form1.MouseHook, nCode, wParam, lParam);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
i := 0;
Form1.MouseHook := SetWindowsHookEx(WH_JOURNALRECORD, @MouseHookProc, HInstance, 0);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
If Form1.MouseHook <> 0 then
begin
UnhookWindowsHookEx(Form1.MouseHook);
Form1.MouseHook := 0;
end;
end;
In einigen Prozeduren wird eine
dll ausgelagert, hiermit nicht.
Gruß
Mazel