Für den MouseHook habe ich eine Alternative, ist ohne
dll und reicht für diesen Prozess aus:
Delphi-Quellcode:
private
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_LBUTTONDOWN then
begin
end;
if Message = WM_RBUTTONDOWN then
begin
end;
if Message = WM_MOUSEMOVE then
begin
end;
end;
end;
Result := CallNextHookEx(Form1.MouseHook, nCode, wParam, lParam);
end;
{--[FormCreate]----------------------------------------------------------------}
procedure TForm1.FormCreate(Sender: TObject);
begin
MouseHook := SetWindowsHookEx(WH_JOURNALRECORD, @MouseHookProc, HInstance, 0);
end;
{--[FormDestroy]---------------------------------------------------------------}
procedure TForm1.FormDestroy(Sender: TObject);
begin
if MouseHook <> 0 then UnhookWindowsHookEx(MouseHook);
end;
Gruß
Mazel