Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Spiele in den Fenstermodus verbannen? (https://www.delphipraxis.net/113611-spiele-den-fenstermodus-verbannen.html)

cr4cky 11. Mai 2008 11:45


Spiele in den Fenstermodus verbannen?
 
Hi, ich hab mein Anliegen bereits im HaBo gepostet, aber dachte es ist vielleicht günstiger nochmal direkt in nem Programmier-Forum nachzufragen:


und zwar starten ja Spiele standartmäßig als Vollbildanwendung und manche von ihnen haben die Option sie im "Window-Mode" laufen zu lassen, manche jedoch auch nicht...

wer nicht weiß was gemeint ist, hier ein Screenshot:
http://img455.imageshack.us/img455/1156/crysiswn4.jpg

Meine Frage ist nun, ob und wie man Programme dazu zwingen kann in diesem Fenstermodus zu laufen...
Im HaBo wurde mir dazu bereits folgendes geraten:


Zitat:

Zitat von CDW
Um etwas im Fullscreen laufen zu lassen, könnte man
ChangeDisplaySettings aufrufen mit CDS_FULLSCREEN
http://msdn.microsoft.com/en-us/library/ms533260(VS.85).aspx
und dann CreateWindowEx benutzen mit Ex-Styleflag WS_EX_APPWINDOW und als Style WS-POPUP. Also einfach ein Fenster ohne Rand und Titel. Das habe ich zumindest schon paar mal bei "low level OpenGL/DirectX" Tutorials gesehen.
D.h man könnte die ChangeDisplaySettings API und CreateWindowEx in der user32.dll hooken und ChangeDisplaySettings "komplett" unschädlich machen sowie bei CreateWindowEx die Ex-Style Paramter ergänzen, damit das Fenster einen Titel hat. Ob man dann aber "on the fly" die Fentsergröße ändern kann, wäre fraglich.

Von Hooks hab ich nicht so wirklich Ahnung, hab zwar schon ein paar Tuts dazu gelesen und einige Beispielprogramme auf dem Rechner (u.a. auch eins das ChangeDisplaySettings hookt^^), aber wie genau ich jetzt vorgehen müsste weiß ich nicht.

Denkt ihr der Ansatz von CDW ist richtig, oder hat jemand nen anderen Vorschlag ?


mfg,
crack

Jakob Ullmann 11. Mai 2008 11:59

Re: Spiele in den Fenstermodus verbannen?
 
Ich denke schon, dass es gehen würde. Nur wird ja meistens auch die Bildschirmauflösung umgestellt, von daher wirst du es nicht ganz wie bei einer Window-Mode-Funktion hinbekommen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:40 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