Laden...

Prüfen auf Apps im Fullscreen-Mode

Erstellt von Emmi83 vor 17 Jahren Letzter Beitrag vor 16 Jahren 2.900 Views
E
Emmi83 Themenstarter:in
109 Beiträge seit 2006
vor 17 Jahren
Prüfen auf Apps im Fullscreen-Mode

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!

B
1.529 Beiträge seit 2006
vor 17 Jahren

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.

E
Emmi83 Themenstarter:in
109 Beiträge seit 2006
vor 17 Jahren

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!

B
1.529 Beiträge seit 2006
vor 17 Jahren

So meinte ich es. Nur ist die Lösung des einen Problems auch die Lösung der Negation...

E
Emmi83 Themenstarter:in
109 Beiträge seit 2006
vor 17 Jahren

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!

3.825 Beiträge seit 2006
vor 17 Jahren

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

B
1.529 Beiträge seit 2006
vor 17 Jahren

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...

E
Emmi83 Themenstarter:in
109 Beiträge seit 2006
vor 17 Jahren

Vielen Dank für eure Tipps, ich werde sie mal ausprobieren 👍

Es gibt keine Probleme - nur Herausforderungen!

29 Beiträge seit 2007
vor 16 Jahren

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

B
1.529 Beiträge seit 2006
vor 16 Jahren

Hast du hier im Forum schon mal danach gesucht?

29 Beiträge seit 2007
vor 16 Jahren

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