Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Text vor beliebige Anwendung schreiben (https://www.delphipraxis.net/10091-text-vor-beliebige-anwendung-schreiben.html)

Jan 11. Okt 2003 13:48


Text vor beliebige Anwendung schreiben
 
Hallo DP,
ich bin auf der Suche nach einer Möglichkeit eine Textausgeabe vor ein beliebiges Fenster zu realisieren.
Falls das überhaupt geht...
Es soll nachher fast so sein als würde ich direkt auf den Bildschirm schreiben.
Wenn ich also eine Fullscreen OpenGL Anwendung habe soll die Ausgabe trotzdem noch von meiner Anwendung im Hitnergrund auf dem Bildschirm erscheinen.
Geht das überhaupt?
Gruß
Jan

SirThornberry 11. Okt 2003 15:11

Re: Text vor beliebige Anwendung schreiben
 
wie das geht weiß ich jetzt nicht aber das es geht. Die Software meiner Tastatur macht das wenn ich die Lautstärke darüber änder, da kommt dann mitm auf Bildschirm so nen Balken der die neue lautstärke anzeigt, also wie bei den meisten Fernsehern, da zeigts ja auch über dem bild die lautstärkeleiste... realisieren könnteste du das indem du einfach eine Fenster nach ganz oben bringst, den hintergrund durchsichtig machst und dann deine Schrift in dem Fenster ausgibst..

Jan 11. Okt 2003 17:49

Re: Text vor beliebige Anwendung schreiben
 
Hallo SirThornberry,
würde denn bei der Methode nicht das aktuelle Fenster, welches sich im Fullscreen befindet verkleinert oder minimiert?
das würde ich nämlich garnicht wollen..
Gruß
Jan

Luckie 11. Okt 2003 17:51

Re: Text vor beliebige Anwendung schreiben
 
Nimm die API TextOut oder DrawText und beim holden des DC mit GetDC gibst du 0 für den gesamten Desktop an. Und nicht vergessen den DC mit ReleaseDC wieder freizugeben.

Jan 11. Okt 2003 18:07

Re: Text vor beliebige Anwendung schreiben
 
Funktioniert klasse Luckie, THX alot!
Bye
Jan

Jan 3. Mai 2006 22:59

Re: Text vor beliebige Anwendung schreiben
 
Ist zwar jetzt doch schon etwas älter hier, aber ich habe doch noch eine Frage:

Wenn ich den drawtext kram nutze und gerade eine openGL anwendung fahre, dann wird der text nur für einen frame angezeigt, und dann wieder von OpenGL übeschrieben. wenn ich jetzt die Ausgabe spamme, dann flackert nur der Text herum. Kann man das nicht noch eine Ebene "höher" anzeigen lassen, sodass es sogar über dem output der openGL Anwendung liegt?

Luckie 3. Mai 2006 23:01

Re: Text vor beliebige Anwendung schreiben
 
Wenn dann tiefer. Da OpenGL wohl direkt den Grafikspeicher der Grafikkarte nutzt.

c113plpbr 5. Mai 2006 17:16

Re: Text vor beliebige Anwendung schreiben
 
Zur Lösung deines Problems gibt es 2 mir bekannte lösungen:
1. die treiber-methode:
Du schreibst dir nen Treiber der das direkt in den Speicher der Graphikkarte schreibt (was meiner meinung nach nicht besonders leicht ist) oder

2. die hook-methode:
du schreibst dir ne DLL die ins fremde Programm geladen wird, dort dann die SwapBuffers-Funktion abfängt, irgendwas mit opengl-methoden anzeigt, und dann SwapBuffers aufruft.

Letzteres hab ich in DirectX-Spielen hingekriegt, wobei es in OpenGl-Spielen wesentlich einfacher sein sollte.

ciao, Philipp

Jan 7. Mai 2006 19:54

Re: Text vor beliebige Anwendung schreiben
 
Das ist wohl beides wahr, aber in meinem Fall leider nicht die Lösung des Problems, weil das ganze als Systemweite Lösung funktionieren soll, d.h. bei jedem beliebigen Programm. Ich hatte gehofft, dass es da vielleicht einfach eine Grafikkartenfunktion gibt, die Text als Overlay nutzbar macht. Das mit dem Treiber wird wohl nicht funktionieren, da ich dann ja für jede Grafikkarte eine eigene Version schreiben müsste, und das mit dem Hook wohl auch nicht, da bei moderneren Multiplayer Spielen solcherlei Hooks als Hacking interpretiert werden und man daher mit Sanktionen rechnen muss.

Aber danke für den Input!

Gruß

c113plpbr 7. Mai 2006 20:04

Re: Text vor beliebige Anwendung schreiben
 
Bist du dir da sicher? Weist du mit welchen Methoden Fraps arbeitet? Oder XFire? Hooking ... und bisher hab ich noch von keinem gehört, der deswegen irgendwie probleme hatte ...

ciao, Philipp


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:44 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz