
Zitat von
Mephistopheles:

Zitat von
c113plpbr:
All dies ist eigentlich relativ einfach zu realisieren, mit Hilfe einer Library: MadCodeHook
Die MadCodeHook library gibt es unter
http://www.madshi.net/ für nichtkommerzielle Zwecke kostenlos zum Download.
Und sehr instabil (bezieht sich nur auf das besagte Produkt!).
Keineswegs. Bisher hat noch alles problemlos funktioniert, was ich damit gemacht habe!

Zitat von
Mephistopheles:
Und schonmal geguckt wie oft diese APIs so durchschnittlich aufgerufen werden? Da tut jeder zusätzliche CPU-Zyklus weh. Aua.
Ja, schon klar, aber Windowseigene Methoden tun nichts anderes. Nur eben auf Systemwegen.
Und, zur Geschwindigkeit: Ein
DirectX-Hook (wie er z.B. in Fraps verwendet wird), der vllt. noch die ein oder andere Funktion aufruft, kostet vielleicht 2 Frames (bei ner durchschnittlichen Framerate von 60fps). Und das ist nun wirklich wenig ... und nun sag mir nicht, dass diese SendMessage-Funktionen dauerhaft öfter als 60 mal pro sekunde aufgerufen werden!
[edit]
Achja, die Entwickler von Detours (ist sowas ähnliches, nur von M$) haben den Zeitunterschied (bei leeren Funktionen) mal nachgemessen:
Direktaufruf: 113 ns
Mit Detours: 145 ns
und das ist sogut wie nichts ...
[/edit]
ciao, Philipp