Einzelnen Beitrag anzeigen

Passi077

Registriert seit: 7. Okt 2004
23 Beiträge
 
#1

Windows Hook - Nachricht manipulieren / verwerfen?

  Alt 24. Okt 2008, 16:28
Hi,

habe mir einen globalen Hook geschrieben der meine Anwendung immer dann benachrichtigt, wenn ein Fenster maximiert wird:

Delphi-Quellcode:

type
tag = record
    LPARAM :lParam;
    WPARAM :wParam;
    message:Cardinal;
    HWND :hwnd;
end;

PMsg = ^Tag;

const
  WM_WND_MAX_MESSAGE = WM_APP + 0;

function wndmsgHookProc(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
begin
  case nCode < 0 of
    FALSE:
      begin
       if (PMsg(lparam).wparam = SC_Maximize) then
        begin
           SendMessage(WindowHandle,WM_WND_MAX_MESSAGE,0,0);
        end;
      end;
  end;
  Result := CallNextHookEx(HookHandle, nCode, wParam, lParam);
end;
Das funktioniert soweit auch. Jetzt möchte ich aber verhindern, dass die eigentliche Maximiernachricht das Zielfenster erreicht. D.h. das ein Maximieren des Fensters quasi nicht möglich ist.

In einem Hook Tutorial habe ich gelesen, dass man die Nachrichten auch manipulieren kann. Leider wurde dort nicht aufgezeigt, wie das funktioniert und auch sonst habe ich dazu nichts gefunden

Vielleicht kann mir ja jemand helfen

Viele Grüße
Pascal
  Mit Zitat antworten Zitat