![]() |
auf Vollbild testen
Hallöchen,
kennt jemand eine Möglichkeit, wie ich herausfinden kann, ob eine Fremdanwendung(deren Handle ich habe) im Vollbildschirm-Modus läuft? Mir wäre auch geholfen, wenn ich prüfen könnte ob die Anwendung nicht im Vollbildschirmmodus läuft, was aber wohl auf das selbe herrauskommt. Es geht dabei um ein Spiel, welches normalerweise im Vollbildschirmmodus gestartet wird, aber per "ALT+ENTER" auch in den Fenstermodus gebracht werden kann. Für Ratschläge wäre ich sehr dankbar. mfg Evian |
Re: auf Vollbild testen
Das Thema hatten wir schonmal. Es kommt dabei darauf an wie du vollbild definierst. Im Allgemeinen spricht man von Vollbild wenn ein Fenster genau so groß ist die Auflösung des Bildschirms. Du kannst also anhand des Fensterhandles die Größe des Fensters ermitteln und dann prüfen ob diese Größe gleich der Bildschirmgröße ist.
|
Re: auf Vollbild testen
Du könntest auch den WindowStyle des Fensters untersuchen, um das es geht. Imho hat ein Vollbild-Fenster der meisten Spiele keine Borders und ist maximiert. Das könntest du mit
Delphi-Quellcode:
herausfinden.
GetWindowLong(Handle,GWL_STYLE)
Oder du machst es dir einfacher und nutzt diesen Code:
Delphi-Quellcode:
TWindowStyles = record
WS_BORDER, WS_CAPTION, WS_CHILD, WS_CHILDWINDOW, WS_CLIPCHILDREN, WS_CLIPSIBLINGS, WS_DISABLED, WS_DLGFRAME, WS_GROUP, WS_HSCROLL, WS_ICONIC, WS_MAXIMIZE, WS_MAXIMIZEBOX, WS_MINIMIZE, WS_MINIMIZEBOX, WS_OVERLAPPED, WS_OVERLAPPEDWINDOW, WS_POPUP, WS_POPUPWINDOW, WS_SIZEBOX, WS_SYSMENU, WS_TABSTOP, WS_THICKFRAME, WS_TILED, WS_TILEDWINDOW, WS_VISIBLE, WS_VSCROLL : Boolean; end; procedure GetWindowStyles(const AHandle : HWND; var AWindowStyle : TWindowStyles); var WStyle : Integer; begin WStyle:=GetWindowLong(AHandle,GWL_STYLE); AWindowStyle.WS_BORDER:=(WStyle and WS_BORDER)=WS_BORDER; AWindowStyle.WS_CAPTION:=(WStyle and WS_CAPTION)=WS_CAPTION; AWindowStyle.WS_CHILD:=(WStyle and WS_CHILD)=WS_CHILD; AWindowStyle.WS_CHILDWINDOW:=(WStyle and WS_CHILDWINDOW)=WS_CHILDWINDOW; AWindowStyle.WS_CLIPCHILDREN:=(WStyle and WS_CLIPCHILDREN)=WS_CLIPCHILDREN; AWindowStyle.WS_CLIPSIBLINGS:=(WStyle and WS_CLIPSIBLINGS)=WS_CLIPSIBLINGS; AWindowStyle.WS_DISABLED:=(WStyle and WS_DISABLED)=WS_DISABLED; AWindowStyle.WS_DLGFRAME:=(WStyle and WS_DLGFRAME)=WS_DLGFRAME; AWindowStyle.WS_GROUP:=(WStyle and WS_GROUP)=WS_GROUP; AWindowStyle.WS_HSCROLL:=(WStyle and WS_HSCROLL)=WS_HSCROLL; AWindowStyle.WS_ICONIC:=(WStyle and WS_ICONIC)=WS_ICONIC; AWindowStyle.WS_MAXIMIZE:=(WStyle and WS_MAXIMIZE)=WS_MAXIMIZE; AWindowStyle.WS_MAXIMIZEBOX:=(WStyle and WS_MAXIMIZEBOX)=WS_MAXIMIZEBOX; AWindowStyle.WS_MINIMIZE:=(WStyle and WS_MINIMIZE)=WS_MINIMIZE; AWindowStyle.WS_MINIMIZEBOX:=(WStyle and WS_MINIMIZEBOX)=WS_MINIMIZEBOX; AWindowStyle.WS_OVERLAPPED:=(WStyle and WS_OVERLAPPED)=WS_OVERLAPPED; AWindowStyle.WS_OVERLAPPEDWINDOW:=(WStyle and WS_OVERLAPPEDWINDOW)=WS_OVERLAPPEDWINDOW; AWindowStyle.WS_POPUP:=(WStyle and WS_POPUP)=WS_POPUP; AWindowStyle.WS_POPUPWINDOW:=(WStyle and WS_POPUPWINDOW)=WS_POPUPWINDOW; AWindowStyle.WS_SIZEBOX:=(WStyle and WS_SIZEBOX)=WS_SIZEBOX; AWindowStyle.WS_SYSMENU:=(WStyle and WS_SYSMENU)=WS_SYSMENU; AWindowStyle.WS_TABSTOP:=(WStyle and WS_TABSTOP)=WS_TABSTOP; AWindowStyle.WS_THICKFRAME:=(WStyle and WS_THICKFRAME)=WS_THICKFRAME; AWindowStyle.WS_TILED:=(WStyle and WS_TILED)=WS_TILED; AWindowStyle.WS_TILEDWINDOW:=(WStyle and WS_TILEDWINDOW)=WS_TILEDWINDOW; AWindowStyle.WS_VISIBLE:=(WStyle and WS_VISIBLE)=WS_VISIBLE; AWindowStyle.WS_VSCROLL:=(WStyle and WS_VSCROLL)=WS_VSCROLL; end; procedure TForm2.btn_Button1Click(Sender: TObject); var WS : TWindowStyles; begin GetWindowStyles(Handle,WS); if (Ws.WS_MAXIMIZE) then // hier noch einiges anderes testen Caption:='FullScreen'; end; |
Re: auf Vollbild testen
Vielen Dank.. sieht interessant aus.. werd es mir mal ansehen!
|
Re: auf Vollbild testen
Maximiert heisst doch aber nicht, dass das Fenster im Vollbildschirmmodus ist.
|
Re: auf Vollbild testen
Zitat:
Warum denn nicht? :?: |
Re: auf Vollbild testen
Wenn das Fenster maximiert ist, sieht man doch noch die Taskleiste :gruebel:
|
Re: auf Vollbild testen
Hmmm ... da ist was dran ... daran hab ich nicht gedacht. Aber Evian kanns ja mal probieren.
|
Re: auf Vollbild testen
Zudem kann ich meine Formhöhe und Formbreite so setzen, dass es den ganzen Bildschirm ausfüllt.
Dann ist das Attribut WS_MAXIMIZE nicht gesetzt. |
Re: auf Vollbild testen
[ironie]
Ok, ich sehe ein, das ich kompletten Blödsinn geschrieben habe. ;) Aber nehmen wir mal an, das Spiel um das es geht, maximiert sich selbst im Vollbild-Modus. Dann wars das doch wert. oder? ;) [/ironie] |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:15 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