Einzelnen Beitrag anzeigen

Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Delphi: Uhr in DirectX anwendungen

  Alt 30. Apr 2007, 16:27
Zitat von Prototypjack:
Entweder du versucht die Uhr Topmost zu setzen, sodass sie auch über dem Spiel läuft (Ob das überhaupt möglich ist, weiss ich nicht, doch bezweifle es stark).
Funktioniert (zumindest im Fullscreenmodus) nicht. Bei Windowed bin ich mir unsicher, aber es dürfte auch da einfach vom DirectX-Overlay übernagelt werden, solang man nicht manuell einstellt, dass man auf dieses verzichtet. (Was den Sinn von DirectX in Teilen in Frage stellen würde )

Zitat von Prototypjack:
Oder du holst dir das Handle des Fensters (Ich rate hier mal rum) und zeichnest dort deine Uhr bei jedem Refresh neu rein.
Das Handle nicht, aber der Devicecontext geht. Dann kann man auch zeichnen, jedoch hat man ein Problem: Man bekommt den Refresh (=Bufferflip) nicht mitgeteilt, so dass man auf gut Glück in kurzen Intervallen immer neuzeichnen muss. Da DX aber idR in einem anderen Rythmus neuzeichnet, wird das ganze eine sehr flimmerige Angelegeheit. Fazit: Geht, aber macht Augenschmerzen


Programme wie Fraps oder TeamSpeak Overlay, die Daten in Overlays anzeigen, nutzen in der Regel die Technik des DLL-Hookings, bei der man die original DirectX-DLLs durch eigene ersetzt, die alle Aufrufe durchreichen ans Original, und im Flip dann eigenen Code zufügen können vorher bzw. nachher. Leider hab ich bis dato keine genauere Beschreibung des Verfahrens finden können, und schon garnicht eine Anleitung/Tutorial. Sämtliche Autoren dieser Programme halten dieses Wissen geheim, da die Produkte entweder bereits kommerziell sind, oder man sich die Option offen halten will dies zu machen, und dann will man sein Know-How natürlich nicht im Vorfeld ausgeplaudert haben.
Ich versuche nun schon seit langer Zeit immer mal wieder genauere Infos dazu zu finden, da ich auch immer wieder tolle Ideen habe, diese Technik zu nutzen. Ein Administrationstool für Teamspeak, dass sich komplett aus dem Spiel per Hotkeys bedienen lässt, und eben Statusmeldungen im Spiel darstellt wäre z.B. etwas, was mir vorschwebt. Aber ich find nix, und meine Kenntnisse sind, obwohl schon nicht mehr Anfänger, leider nicht ausreichend, um in brauchbarer Zeit von selber voll dahinter zu steigen
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat