fremdes Fenster als Output für StartDrawing()
fremdes Fenster als Output für StartDrawing()
Ist es irgendwie möglich, die 2DDrawing-Befehle von PB auf einem fremden Fenster anzuwenden?
Re: fremdes Fenster als Output für StartDrawing()
Moin!
In Zeiten des fehlenden Speicherschutzes im Betriebssystem war dies einfach möglich. Heutzutage nutzt kaum noch jemand so ein System. Es ist schlicht unsicher, im Speicher anderer Programme herumzufuhrwerken.
Wozu brauchst Du so etwas? Nutze lieber Mitteilungen über das System, die das Zielprogramm erhält und macht, was Du willst. Das muß vom Zielprogramm natürlich unterstützt werden. Bei den meisten Programmen sieht's düster aus.
Gruß - WPö
In Zeiten des fehlenden Speicherschutzes im Betriebssystem war dies einfach möglich. Heutzutage nutzt kaum noch jemand so ein System. Es ist schlicht unsicher, im Speicher anderer Programme herumzufuhrwerken.
Wozu brauchst Du so etwas? Nutze lieber Mitteilungen über das System, die das Zielprogramm erhält und macht, was Du willst. Das muß vom Zielprogramm natürlich unterstützt werden. Bei den meisten Programmen sieht's düster aus.
Gruß - WPö
Ich glaube nur der Statistik, die ich selbst gefälscht habe!
Meine Netzpräsenz: WPö.de
PB5.31 auf LMDE und Pentium T7200 2,00GHz, 4GB DDR2, ATI X1400.
Meine Netzpräsenz: WPö.de
PB5.31 auf LMDE und Pentium T7200 2,00GHz, 4GB DDR2, ATI X1400.
Re: fremdes Fenster als Output für StartDrawing()
Ich habe ein Programm (keine eigenes), welches mir in einem Fenster Informationen ausgibt. Diese Informationen lese ich aus und rechne damit ein bischen rum. Die Ergebnisse dieser Berechnungen möchte ich nun grafisch (in Form von Diagrammen) auf dem Fenster, von dem ich die Informationen erhalten habe darstellen.Wozu brauchst Du so etwas?
Aber wenn das in der Form zu unsicher ist, dann werde ich das wohl über das GDI lösen müssen...
In dem Fall habe ich allerdings noch eine Frage.
Dazu mal ein kleines Beispiel:
Code: Alles auswählen
Procedure FreeDrawBox(hdc, x, y, width, height, color = #Black)
pen = CreatePen_(#PS_SOLID, 1, color)
brush = CreateSolidBrush_(color)
SelectObject_(hdc, pen)
SelectObject_(hdc, brush)
Rectangle_(hdc, x, y, x + width, y + height)
DeleteObject_(pen)
DeleteObject_(brush)
EndProcedure
hdc = GetWindowDC_(GetForegroundWindow_())
FreeDrawBox(hdc, 50, 50, 100, 100, #Red)
ReleaseDC_(GetShellWindow_(),hdc)
Allerdings weiß ich nicht, wie ich den Befehl "DrawImage()" nachbasteln kann. Ich hab auch schon ein Bischen umher gegoogelt aber leider nichts gefunden.
Wie müsste denn eine Prozedur aussehen, die sowas mittels GDI bewerkstelligt?
Re: fremdes Fenster als Output für StartDrawing()
Ist die darstellung im anderem fenster per DirectX? Dann such mal nach DirectX Hooking
Habe da letztlich auch einen Interesanten artikel gelesen.
http://www.codeproject.com/Articles/140 ... -Interface
Habe da letztlich auch einen Interesanten artikel gelesen.
http://www.codeproject.com/Articles/140 ... -Interface