AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

WM_WINDOWPOSCHANGING abfangen

Ein Thema von MisterNiceGuy · begonnen am 31. Aug 2005 · letzter Beitrag vom 1. Sep 2005
 
Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#17

Re: WM_WINDOWPOSCHANGING abfangen

  Alt 31. Aug 2005, 21:27
Als ob ich's gewusst hätte

Die DLL compiliert aber richtig, oder?

Dann weiter so in deinem Hauptprogramm:

Delphi-Quellcode:
// das hatten wir schon
type
  TMessageHookCallback = procedure(const Msg: Windows.TMsg) of object;

procedure DisableMessageHook; stdcall; external 'SuperMsgHook.dll';
procedure EnableMessageHook(ACallbackProc: TMessageHookCallback); stdcall; external 'SuperMsgHook.dll';

// Ab jetzt neu, Methode von Form1, also von deinem Hauptformular.
// Kann aber auch eine Methode einer beliebigen Klasse sein
procedure Form1.OnMessageHook(const Msg: Windows.TMsg);
begin
  // Hier stehen jetzt in Msg alle Parameter der Meldung
  // Msg.hwnd: HWND; das Fensterhandle
  // Msg.message: UINT; WM_WINDOWPOSCHANGING
  // Msg.wParam: WPARAM; wParam zu der Meldung
  // Msg.lParam: LPARAM; lParam zu der Meldung
  // Msg.time: DWORD; Zeitpunkt der Nachricht
  // Msg.pt: TPoint; Mauszeigerstelle zum ang. Zeitpunkt

end;

procedure Form1.FormShow(Sender: TObject);
begin
  // Hier wird der Hook eingeschaltet
  EnableMessageHook(OnMessageHook);
end;

procedure Form1.FormHide(Sender: TObject);
begin
  // ... und hier wieder ausgeschaltet
  DisableMessageHook;
end;
In OnMessageHook kannst du jetzt die Nachrichten verarbeiten. Du solltest allerdings nicht zu viel machen, da es sonst auf die Performance geht.
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz