Ich habe jetzt eine Lösung gefunden die einigermaßen läuft:
Delphi-Quellcode:
function MouseHookFunc(Code: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
var
Mousespos: MOUSEHOOKSTRUCT;
begin
//Nachricht an Fenster weiterleiten
Result := CallNextHookEx(hMouseHook, Code, wParam, lParam);
// Nachricht auswerten
if Code >= 0 then
begin
hMap := OpenFileMapping(FILE_MAP_WRITE, False, 'MMF');
HookRec := MapViewOfFile(hMap, FILE_MAP_WRITE, 0, 0, 0);
if HookRec <> nil then
hApp := HookRec.AppHnd;
Mousepos.pt := Mouse.CursorPos;
SendMessage(hApp, WM_MOUSEHOOK, wparam, Integer(@Mousepos));
UnmapViewOfFile(HookRec);
CloseHandle(hMap);
end
else
Exit;
end;
Aber sobald ich mit dem Mauszeiger aus meinem Programm gehe kommt eine Fehlermeldung
und zwar eine Zugriffsverletzung in meiner EXE. Woran könnte das liegen?