Einzelnen Beitrag anzeigen

Benutzerbild von Flocke
Flocke

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

Re: wie würdest ihr es anstellen, Buttons in fremde Titellei

  Alt 10. Sep 2006, 00:37
Mein Ansatz wäre:

1. Packe die Funktionalität in eine DLL
2. Erzeuge einen globalen Hook (z.B. WH_MOUSE) mit einer Funktion, die ebenfalls in der DLL liegt -> deine DLL wird in jeden Prozess injeziert.
3. Beim Laden der DLL ermittle alle Hauptfenster des jeweiligen Prozesses und merke sie dir (EnumWindows / GetWindowThreadProcessId).
4. Hooke die Funktionen CreateWindow und CreateWindowEx, um neue Hauptfenster abzufangen (die ohne WS_CHILD).
5. Ein WM_DESTROY in der Fensterprozedur entfernt ein Fenster aus deiner Liste.

Diesen Fenstern musst du dann deine Buttons zuordnen.

Entweder erzeugst du ein kleines Panel mit den Buttons, das du dann zusammen mit dem Fenster verschiebst, oder du arbeitest ohne Fenster und behandelst die Meldungen WM_NCLBUTTONDOWN, WM_NCMOUSEMOVE, WM_NCLBUTTONUP und WM_NCPAINT selbst.
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat