Ich würde gerne einen Maushook programmieren. Dazu habe ich mir mal das Tutorial von Assarbad angeguckt (
http://www.assarbad.org/stuff/tutori...oks/index.html ), doch irgendwas stimmt da noch nicht:
Delphi-Quellcode:
function MouseHookProc(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
begin
Result := CallNextHookEx(HookHandle, nCode, wParam, lParam);
case nCode < 0 of
TRUE: exit;
FALSE:
begin
postMessage(WindowHandle,WM_MOUSEMOVE,wParam,lParam);
end;
end;
end;
//Hook wird gesetzt
HookHandle := SetWindowsHookEx(WH_MOUSE, @MouseHookProc, hInstance, 0);
1. Problem: Es kommt nur eine Nachricht bei meinem Programm an, wenn ich die Maus auch über mein Programm bewege (ich bin mir noch nicht mal sicher, ob das dann auch ne Message vom Hook ist...). Wenn ich aber ein MessageBox(0, nil, nil, 0) über das PostMessage setze, erscheint auch eine MessageBox (und zwar immer bei bewegen der Maus), allerdings dann unter dem Fittch des aktuellen Programms.
2. Problem: Wie kann ich auswerten, ob eine Maustaste gedrückt wurde oder nicht?