Hi,
Zitat von
KeyCode008:
das mit dem createwindow läuft ja ganz gut aber wie geht des mit dem SetWindowlong? Kann da jemand ein beispiel geben?
Beispiele sollten hier im Forum zu finden sein.
Window procedure umbiegen:
Code:
// alte WndProc speichern
// zum "Beenden" wird später wieder alte WndProc zurückgesetzt
oldProc := GetWindowLong(TargetWnd, GWL_WNDPROC);
// alte mit unserer neuen, eigenen WndProc überschreiben
SetWindowLong(TargetWnd, GWL_WNDPROC, Integer(@NewWndProc));
Window procedure zurücksetzen:
Code:
SetWindowLong(TargetWnd, GWL_WNDPROC, oldProc);
Wie Luckie aber schon angemerkt hat, muss das im Addressraum der Zielanwendung geschehen. Wir müssen diesen (Pseudo-)Code also in den anderen Addressraum
injezieren. Oft werden dazu Hooks und MMFs benutzt.
LuckieSpy
Gruß,
Markus