![]() |
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 |
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..
|
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 |
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.
|
Re: Text vor beliebige Anwendung schreiben
Funktioniert klasse Luckie, THX alot!
Bye Jan |
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? |
Re: Text vor beliebige Anwendung schreiben
Wenn dann tiefer. Da OpenGL wohl direkt den Grafikspeicher der Grafikkarte nutzt.
|
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 |
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ß |
Re: Text vor beliebige Anwendung schreiben
|
Re: Text vor beliebige Anwendung schreiben
Wenn das mal so einfach wäre, dann würden nicht laufend Battle.net Accounts und CS-Keys gesperrt werden. Das ganze ist bei der riesigen Cheater-Kultur schon sehr weit fortgeschritten und behindert natürlich normale Programmierer dann einfache Sachen mit den Programmen zu machen. Also im Source rummengen bringt mir ja eh nichts, weil ich das dann für jedes Programm machen müsste welches OpenGL unterstützt, da ja diese Einblendung systemweit funktionieren soll.
Gruß |
Re: Text vor beliebige Anwendung schreiben
Zitat:
![]() Wenn ein Spiel das als "Cheaten" einstuft, dann wird es auch Fraps und XFire als cheat einstufen ... und da gibt es VIEEELE leute die das benutzen! Wie gesagt, ich hab dir lösungsvorschläge geliefert, die umsetzung und entscheidung überlasse ich allerdings dir. ciao, Philipp |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz