PBprogger hat geschrieben:Was kann man damit alles machen? Wofür kann man es verwenden?
so in Kürze erklärt: Wenn Dein Rechner läuft, werden im Hintergrund eine
Unmenge an Nachrichten vom Betriebssystem generiert und an
verschiedene Prozesse versendet. Bewegst Du beispielsweise die Maus,
so muss der Mauszeiger an die neue Position verschoben und dargestellt
werden, die Position, wo der Mauszeiger vorher stand muss neu gezeichnet
werden, usw., usw.
Normalerweise bekommt man jedoch nur die Nachrichten, die für das
eigene Programm relevant sind. Diese kann man dann beispielsweise mit
(Wait)WindowEvent(), NetworkServerEvent() oder Callbacks auswerten
und entsprechend darauf reagieren.
Möchtest Du aber auch andere Nachrichten empfangen, die nicht für Dein
Programm bestimmt sind, so musst Du einen Hook erstellen und diesen in
den Nachrichtenfluss einhängen (deshalb der Name Hook = Haken).
Somit bist Du in der Lage, diese Nachrichten zu empfangen, auszuwerten,
bei Bedarf zu verändern und dann an den nächsten Empfänger
weiterzuleiten.
Du kannst z.B. aber auch Nachrichten komplett abfangen. Somit könntest
Du beispielsweise einen Tastaturhook programmieren und verhindern,
dass das Zeichen 'e' getippt wird, indem Du die Nachricht, dass genau
diese Taste gerade gedrückt wurde, nicht weiterleitest.
PBprogger hat geschrieben:Wie mach ich einen?
Hooks zu programmieren ist nicht gerade trivial. Man kann damit eine
Menge Unfug anstellen und wenn man nicht genau aufpasst, schießt man
nicht selten seinen Rechner mit einem fehlgeleiteten Hook ab.
Da Du nicht weißt was Hooks sind, würde ich fast behaupten wollen,
dass Du keine Hooks benötigst
Grüße ... Kiffi