CALLBACK auserhalb des process Speicherraumes???
-
Hallo @ all,
Wie ihr ja alle wisst kann man eine WNDPROC über SetWindowLong "redefinieren", jedoch nur im selben Adressraum (also durch Einbindung einer DLL).
Weiß jemand wie man eine WNDPROC außerhalb des Speicherraumes definieren kann?
-
Durch Einbindung einer DLL in den Addressraum des Zielprozesses.
-
Ja schon... Danke
Ich verwende bereits eine DLL die die WNDPROC überschreibt, nur ich würde nun gerne von einem Programm aus der DLL sagen können was die bei dem WM_PAINT von der WNDPROC die diese überschreibt machen soll.
Kann mir jemand folgen und hat eine Idee???
-
Kann mir jemand folgen...
Schwer, liegt aber eher am Schreibstil.
...und hat eine Idee???
Wenn es nur darum geht, zwischen verschiedenen Zeichenoptionen umzuschalten würde es reichen, über Windowsnachrichten zu kommunizieren. Dazu könntest du einfach eine benutzerdefinierte Nachricht an die entsprechende Anwendung schicken, die dann in deiner Fensterprozedur ankommt und du nicht an die originale Fensterprozedur weiterleitest.
Willst du größere Datenmengen übertragen wären Pipes dafür besser geeignet. In deiner DLL benötigst du dann eine Schleife, die aus der Pipe liest und dein Programm fügt die Daten für die DLL in die Pipe ein.
-
Ja hört sich gut an -> Pipes.
Das ist genau, das was ich will, aber kann es sein das dies ein bisschen komplexer werden kann..
Gibt es einen mini Code als Beispiel irgendwo??
-
ja auch auf MSDN