AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Delphi: Uhr in DirectX anwendungen

Delphi: Uhr in DirectX anwendungen

Ein Thema von gekkorist · begonnen am 30. Apr 2007 · letzter Beitrag vom 30. Apr 2007
Antwort Antwort
gekkorist

Registriert seit: 14. Jan 2007
30 Beiträge
 
#1

Delphi: Uhr in DirectX anwendungen

  Alt 30. Apr 2007, 14:23
Hallo, in DirectX und Delphi bin ich nen totaler anfänger... Ich würde mal Fragen wie man das Realisieren kann, in einer DirectX anwendung (nen Spiel) eine Uhr anzeigen zu lassen?

Ich weiß nicht wo ich da anfangen soll. Ich weiss auch nicht ob man dafür unbedingt DX braucht... auf den Desktop kann ich ja schreiben... das habe ich jetz scho mal hinbekommen wie ich mir das vorstelle.. aber wenn ich nen Spiel starte wird das Überlappt, hat evtl so etwas scho mal einer gemacht?
  Mit Zitat antworten Zitat
Prototypjack

Registriert seit: 2. Feb 2003
611 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Delphi: Uhr in DirectX anwendungen

  Alt 30. Apr 2007, 15:00
Guten Tag!

Zuerst mal eine Frage: Ist die Anwendung, das Spiel, in dem du die Uhr anzeigen möchtest deine eigene?

Wenn ja: Dann einfach die Uhr selbst zeichnen. Wenn du ein Spiel schreibst, welches sich ja selbst auch zeichnen muss, sollte diese Uhr zusätzlich keine große Hürde darstellen.

Wenn die Anwendung allerdings nicht deine eigene ist und du die Uhr in ein fremdes Fenster hineinzeichnen musst, so dürfte das unterfangen extrem schwierig werden. 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). Oder du holst dir das Handle des Fensters (Ich rate hier mal rum) und zeichnest dort deine Uhr bei jedem Refresh neu rein. Wenn (Und das weiss ich auch nicht) das möglich ist, übersteigt es vermutlich deine Fähigkeiten als Anfänger (Was du ja selbst von dir behauptest) extrem.

Gruß,
Max
Max
„If you have any great suggestions, feel free to mail me, and I'll probably feel free to ignore you.“ . Linus Torvalds
  Mit Zitat antworten Zitat
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
gekkorist

Registriert seit: 14. Jan 2007
30 Beiträge
 
#4

Re: Delphi: Uhr in DirectX anwendungen

  Alt 30. Apr 2007, 17:52
Ne, mein eigenes ist es nicht.. es handelt sich um Counterstrike bzw Counterstrike Source. Wenn ich mal spiele geht die Zeit ganz schön schnell rum.
Hier habe ich nen link von nen Coder forum die das erklären wie das in c geht, aber da verstehe ich erst recht nur Bahnhof KlickmE
Naja die seite is aber für Cheater.. die probs mit ihren Hacks haben, aber evtl nützt das ja was.
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Delphi: Uhr in DirectX anwendungen

  Alt 30. Apr 2007, 18:02
hallo, der code sieht aus als würde er auch nur stur zeichnen. das ist eindeutig zu wenig code um mehr zu sagen.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#6

Re: Delphi: Uhr in DirectX anwendungen

  Alt 30. Apr 2007, 18:04
Das Beispiel basiert wohl auf einer Hook-API aus dem gleichen Forum (die sich - möglicherweise mit ein wenig Umbau - auch mit Delphi nutzen lassen sollte). Muss ich auch irgendwann einmal ausprobieren , in Verknüpfung mit managed DirectX scheint das ein reines Kinderspiel zu werden.
Sebastian
Moderator in der EE
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Delphi: Uhr in DirectX anwendungen

  Alt 30. Apr 2007, 18:06
Hi.

Was, wenn deine Uhr (zurecht) als Cheat erkannt wird?
Dani H.
At Least I Can Say I Tried
  Mit Zitat antworten Zitat
gekkorist

Registriert seit: 14. Jan 2007
30 Beiträge
 
#8

Re: Delphi: Uhr in DirectX anwendungen

  Alt 30. Apr 2007, 18:28
Zitat von Dani:
Hi.

Was, wenn deine Uhr (zurecht) als Cheat erkannt wird?
mann koennte ja vorher bevor man es testet in Szeamforum schreiben.. ma gucken was die dazu sagen.. oder irgendwo verbreiten und gucken was passiert.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:32 Uhr.
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