Window-Hooks - Wie funktionieren sie?

9

Ich habe keine Ahnung, wie Fensterhaken auf der "Systemebene" funktionieren. MSDN berührt nur das, was gerade passiert:

  

Ein Hook ist ein Punkt im Mechanismus zur Verarbeitung von Systemnachrichten, in dem ein   Anwendung kann ein Unterprogramm installieren, um den Nachrichtenverkehr in zu überwachen   das System und verarbeitet bestimmte Arten von Nachrichten, bevor sie das erreichen   Zielfensterprozedur.

Meine beste Schätzung ist etwas wie unten:

Bevor jede Nachricht zu der Nachrichtenwarteschlange für ein Fenster hinzugefügt wird, sendet sie die Nachricht zuerst an die globalen / lokalen Hooks, was abhängig von ihren Hook-Prozeduren etwas tun kann. Nach allen globalen Hooks und lokalen Hooks wird die Nachricht schließlich zur Fensternachrichtenwarteschlange hinzugefügt.

Allerdings sagt MSDN, dass für einige Arten von Hooks events , notifications usw. überwacht werden.

Ein Beispiel ist der WH_MOUSE_LL hook:

  

Installiert eine Hook-Prozedur, die Maus der unteren Ebene überwacht   Ereignisse eingeben . Weitere Informationen finden Sie im LowLevelMouseProc-Hook   Verfahren.

Wenn sie events sagen, reden wir Fenstermeldungen oder meinen sie etwas anderes?

Bin ich falsch?

    
ebb 26.12.2011, 00:11
quelle

1 Antwort

1

Ja, dies ist ein Mechanismus für Windows-Nachrichten, Sie können diese Daten (Nachrichten) verarbeiten, bevor sie die Zielfensterprozedur (Nachrichtenschleife) erreichen.

Wenn Sie andere Prozessfenster haken möchten, können Sie dies einfach in der DLL durchführen und die DLL-Injektion verwenden, um Ihre Bibliothek in andere Prozesse zu injizieren.

    
Svisstack 26.12.2011 00:37
quelle

Tags und Links