Hallo Leute,
kann mir jemand sagen, wie ich prüfe, ob sich gerade irgend eine Applikation im Fullscreen-Mode befindet?
Beispiel:
Mein Programm läuft im Hintergrund und bringt durch ein Event eine Form zur Ansicht. Dies sollte nun aber nicht passieren wenn z.B. eine PowerPoint-Präsentation oder ein Spiel im Fullscreen-Mode läuft.
Wie kann ich das prüfen?
Viele Grüße,
Emmi
Es gibt keine Probleme - nur Herausforderungen!
Ich vermute mal, dir geht es darum, dass der Bildschirm umgeschaltet wird (also zum Beispiel das Spiel minimiert wird).
Mir ist nun aufgefallen, dass es Popups gibt, bei denen umgeschaltet wird, bei anderen hingegen nicht. Wird damit vermutlich an den Fenstereigenschaften liegen.
Mein erster Verdacht wäre, dass man dieses Verhalten über den Rahmen des Fensters beeinflussen kann (also ob Fenster, Dialog, Toolwindow etc).
Das könntest du mal austesten.
Hi Borg,
genau anders rum 😉
Ich will, dass die Applikation im Vollbild-Modus gelassen wird. Ich möchte nur wissen wie man prüft, ob irgend eine Applikation im Vollbild-Modus gerade ausgeführt wird.
Es gibt keine Probleme - nur Herausforderungen!
So meinte ich es. Nur ist die Lösung des einen Problems auch die Lösung der Negation...
Naja, ich dachte mir eigentlich eher was anderes. Vielleicht erst mal Objekte von allen laufenden Applikationen besorgen und dem entsprechend auswerten. Nur wie hab ich halt keine Ahnung 🤔
Es gibt keine Probleme - nur Herausforderungen!
Hallo Emmi,
ob das aktuelle Form im Vollbildmodus ist stellst Du so fest
if (this.WindowState == FormWindowState.Maximized) ...
Ob das Hauptfenster im Vollbildmodus ist geht so :
if (Hauptfenster.ActiveForm.WindowState == FormWindowState.Maximized) ...
Hmm, ich sehe gerade Du meinst nicht die eigene Applikation sondern irgendeine. Da kann ich leider nicht weiterhelfen.
Grüße Bernd
Workshop : Datenbanken mit ADO.NET
Xamarin Mobile App : Finderwille Einsatz App
Unternehmenssoftware : Quasar-3
Mit der API-Funktion FindWindowEx kannst du alle Fenster suchen und dann deren WindowState abfragen.
Das Problem ist denke ich, dass es verschiedene Arten von Vollbildmodus gibt. So zum Beispiel DirectX, Video-Overlay, GDI+ ...
Ich weiss leider auch nicht, wie man diese alle eindeutig erkennen kann. Eventuell hilft es ja zu prüfen, ob die Taskleiste auf "immer im Vordergrund" gestellt (Registry) und sichtbar (FindWindowEx) ist. Sobald man eine andere Einstellung der Taskleiste hat, wird das aber wieder nicht mehr helfen.
Eventuell gibt es ja in jeder der einzelnen Komponenten eine Routine um dies zu prüfen. Zumindest bei DirectX müsste das Device ja dann gesperrt sein...
Vielen Dank für eure Tipps, ich werde sie mal ausprobieren 👍
Es gibt keine Probleme - nur Herausforderungen!
Hi!
Hab gerade das gleiche Problem, jedoch weiß ich nicht mal wie man die API-Funktion FindWindowEx aufruft!
Hat sonst vlt. jemand schon ne Lösung?
mfg EggaPauli
OK, ich glaub ich weiss jetzt, dass man mit FindWindowEx andere Fenster manipulieren bzw. kontrollieren kann, aber wie ich herausfinde, ob das andere Fenster jetzt FullScreen ist oder nicht hab ich nirgends gefunden!
mfg EggaPauli