Einzelnen Beitrag anzeigen

Benutzerbild von OrallY
OrallY

Registriert seit: 29. Apr 2003
268 Beiträge
 
#4
  Alt 22. Jun 2003, 17:54
Kann mir vielleicht einer erklären, wie ich, wenn es die richtige Funktion ist, PeekMessage in meiner DLL einzusetzen habe? So funktioniert es auf jedenfall nicht:
Delphi-Quellcode:
var
   Msg: TMsg;

function MouseHookProc(Code: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
begin
  if code = HC_ACTION then
  begin
    FileMapObj := OpenFileMapping(FILE_MAP_READ, False,'HookMapFile');
    if FileMapObj <> 0 then
    begin
      FileMapView := MapViewOfFile(FileMapObj, FILE_MAP_READ, 0, 0, 0);
      PostMessage(FileMapView^, WM_HOOKMAP, wParam, lParam);
      PeekMessage(Msg, 0, WM_MOUSEFIRST, WM_MOUSELAST, PM_REMOVE or PM_NOYIELD);
      UnmapViewOfFile(FileMapView);
      CloseHandle(FileMapObj);
    end;
  end;
  Result := CallNextHookEx(HookHandle, Code, wParam, lParam);
end;
Der Sinn eines Hooks ist ja die Messages nach verarbeitungen weiterzuleiten. Aber genau das will ich verhindern. Ich will, dass weder ein normales Fenster, noch der Desktop noch irgendein anderes Teil was eine Mausnachricht erhalten kann, sie nicht bekommt.
.oO'rallY
Linux is like a tipi: no gates, no windows and a gnu-eating apache inside...
  Mit Zitat antworten Zitat