weisst du ob es bei DirectX die Möglichkeit gibt in ein „fremdes“ (also das eines anderen Prozesses) DirectX-Fenster zu zeichnen ohne sich per API-Hooking an die entsprechenden Funktionen im Zielprozess zu hängen? Wenn ja - wie mache ich das?
Bin hier für jeden weiterführenden Hinweis dankbar.
weisst du ob es bei DirectX die Möglichkeit gibt in ein
„fremdes“ (also das eines anderen Prozesses) DirectX-Fenster
zu zeichnen ohne sich per API-Hooking an die entsprechenden
Funktionen im Zielprozess zu hängen? Wenn ja - wie mache ich
das?
Huhu,
Ich denke nicht, dass das ohne Hooking möglich ist. Du könntest höchstens ein eigenes Overlay-Fenster erzeugen und dort hineinrendern, damit kannst du „über“ aber nicht wirklich „in“ die fremde Anwendung rendern. Weitere Detailauskünfte dazu kann ich dir leider zu beiden Themen nicht geben, aber zumindest zu Overlays findest du bei Google reichlich Informationen.
selbst habe ich dies noch nicht getan/programmiert. Die Frage ist außerdem, ob Du es für D3D oder einfach eine DirectDraw-Anwendung machen willst (DDraw sollte einfacher sein). Generell bräuchtest Du wahrscheinlich das Handle/Adresse des surfaces/Rendertargets und zusätzlich einer initialisierten DX Instanz, welche Du irgendwo her auslesen musst. Evtl. kann man man sich mit einer DX-Funktion die offenen Instanzen durchnummerieren lassen und dann die nötigen Adresse auslesen. Wie gesagt, mit diesem Fall hab ich mich noch nicht beschäftigt, sorry. Hoffe Du findest einen Weg (habe hauptsächlich an D3D Programmen gearbeitet).