Einzelnen Beitrag anzeigen

Benutzerbild von Mazel
Mazel

Registriert seit: 11. Nov 2005
Ort: Leipzig
831 Beiträge
 
#3

Re: Mausrad abfangen - drehung außerhalb der anwendung erken

  Alt 19. Dez 2006, 13:47
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
Marcel Jänicke
www.mj-software.net
  Mit Zitat antworten Zitat