GUI/ DC abgreifen

3Cyb3r

Erfahrenes Mitglied
Hallo,
ich habe mich gerade gefragt wie ich ein DC (Device Context) von einem anderen Programm abgreife und auf diesem "zeichne".
Als Beispiel viele von euch werden Steam kennen. Mit diesem kann man quasie über die Steam.exe ein anderes Spiel starten und dadurch kan Steam einwandfrei über die Grafikasugabe des Spiels zeichnen.
So etwas möchte ich auch realisieren. Meinte erst Idee war durch Reverse Engeneering ein bsichen im Speicher des Spiels nachschauen und durch Byte Patching meine Ausgabe einfügen.
Jedoch möchte ich eine "saubere Lösung" die sich bei allen Anwendungsprogrammen gleichermaßen nutzen lässt.

Deswegen frage ich euch nun hab ihr Ideen dies zu realisieren. Ich hatte als nächstes an Hooks gedacht ... aber das stört Antiviren Programme.

MFG
 
Hallo,

sofern man an das Fensterhandle (etwa mit FindWindow) herankommt, können mit GetDC bzw. GetDCEx auch die zugehörigen Device Contexts geholt werden.

Um Hooks wirst du aber wohl nicht herumkommen, weil die Grafikausgabe des anderen Programmes und deine eigene irgendwie synchronisiert werden müssen.

Gruß
MCoder
 
Wäre es eine Alternative dein eigenes (transparantes) Fenster zum Zeichnen zu verwenden und es sozusagen als Kind auf das andere zu zeichnen?
 
Ja das wäre eine alternative so ähnlich hatte ich mir das auch gedacht. Nur anders herum, dass das andere Programm quasi das "child" ist.

@ MCoder: Ja genau das wollte ich ja gerne umgehen.
 
Ja ok danke für den Link.

Bin aber noch an einer anderen Lösung dran. :P
Melde mich deswegen denke die Tage noch einmal.

MFG
 
Zurück