Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi SetWindowPos Alternative (https://www.delphipraxis.net/174826-setwindowpos-alternative.html)

Ondeth 13. Mai 2013 17:12

AW: SetWindowPos Alternative
 
Ok erst einmal danke für die nächsten Antworten :)

@EWeiss Ich werde das gleich mal mit dem DDraw ausprobieren

@BUG Ich werde mich mal später durch die Suchergebnisse durchackern

Werde mich dann später melden 8-)

Ondeth 15. Mai 2013 17:04

AW: SetWindowPos Alternative
 
@EWeiss So,habe noch eine Frage an dich ...

Was ist denn genau möglich mithilfe von DDraw..? Ich meine aus deiner Antwort rauszulesen , dass man die Form "nur" als Bild anzeigen lassen kann... Fällt somit jegliche Interaktion mit Knöpfen (TButton) weg,oder blick' ich hier gerade nicht durch ? :D

EWeiss 15. Mai 2013 18:12

AW: SetWindowPos Alternative
 
Zitat:

Zitat von Ondeth (Beitrag 1215445)
@EWeiss So,habe noch eine Frage an dich ...

Was ist denn genau möglich mithilfe von DDraw..? Ich meine aus deiner Antwort rauszulesen , dass man die Form "nur" als Bild anzeigen lassen kann... Fällt somit jegliche Interaktion mit Knöpfen (TButton) weg,oder blick' ich hier gerade nicht durch ? :D

Verstehe nicht was du meinst ;)
Hättest du das Projekt ausgeführt dann würde sich deine Frage erübrigen.
Klar hat man vollen zugriff auf alle Komponenten die sich auf der Form befinden.

Der Trick hierbei ist folgender.
Die Form befindet sich an X,y position auf den Desktop als Topmost wird aber von DirektX überzeichnet.
Da die Form sich nicht vor dem SpielFenster (bzw. wird überzeichnet) setzen läßt kopiere ich quasi nur das Bild der Form in den Speicher auf den "Offscreen Surface"
Durch diesen Trick kann man nun sehen wo sich die Form befindet.
Klickt man nun an der jeweiligen position Button oder was auch immer wird die Aktion auch angezeigt weil die Form zeitgleich neu in den Buffer gezeichnet wird.
Das clickevent ist natürlich genauso wie im normalen zustand und wird auch genauso ausgeführt.

Das problem ist nur wie willst du an den BackBuffer des jeweiligen Spiels kommen um deine Form dort einzublitten.
Ein Overlay "ohne hook" im VollBild ist da auch so gut wie ausgeschlossen es sei denn das Spiel wird im Fenstermodus ausgeführt.

nochmal leicht editiert :oops:

gruss

Ondeth 18. Mai 2013 15:31

AW: SetWindowPos Alternative
 
Entschuldige :oops:

Da stand ich vor ein paar tagen echt auf dem Schlauch :?

Naja ich hab mich jetzt doch mal eine Zeitlang mit deinem Projekt befasst und finde es echt toll :thumb:

Und den AV am Ende kann man ja sicherlich mal für's Erste ignorieren :P

EWeiss 18. Mai 2013 16:17

AW: SetWindowPos Alternative
 
Zitat:

Entschuldige
Kein problem ;)

Hätte dir ja gerne mehr geholfen aber das ist dann doch zuviel des guten was meine kenntnisse in DirectX angeht
dafür einen Systemweiten Hook für alle DXVersionen zu erstellen.

Machbar wäre es mit Viel Aufwand.

gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:29 Uhr.
Seite 3 von 3     123   

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