Fenster-Minimierung bei 'Desktop anzeigen' verhindern



  • Hallo,

    wie kann ich verhindern, dass mein Fenster minimiert wird, wenn sich der Benutzer den Desktop anzeigen lässt (also über die Schnellstartleiste oder mit WINOWSTASTE+D)?



  • Schau Dir mal das an: WS_EX_TOPMOST
    Damit könnte es gehen. Bei SetWindowPos kannst Du es wohl auch mit HWND_TOPMOST nach ganz oben setzten.

    Gruß André

    EDIT: Obwohl, wen ich es mir gerade recht überlege, hilft das bei diesem Problem wohl nicht. Diese Tastenkombi ist dafür gedacht, alle Fenster zu minimieren, warum sollte hier eine Ausnahme gemacht werden. Da hilft es wohl nur, die WM_SIZE abzufangen und das Minimieren per Hand zu verhindern.



  • Hm... Leider bekommt mein Fenster beim Desktop-Anzeigen keine WM_SIZE. Habe auch schon WM_GETMINMAXINFO probiert; geht auch nicht. Hat vielleicht sonst noch jemand ne Idee?



  • Wenn der WS_MINIMIZEBOX gesetzt wird, dann kommt auch WM_SIZE und WM_MOVE.

    Gruß André



  • GyroGearloose schrieb:

    Hallo,

    wie kann ich verhindern, dass mein Fenster minimiert wird, wenn sich der Benutzer den Desktop anzeigen lässt (also über die Schnellstartleiste oder mit WINOWSTASTE+D)?

    Was soll der Blödsinn? Ich wäre äußerst ungehalten, wen nich mir den Desktop anzeign lassen will, dass dann dein Programm immer noch da ist. Wenn ich den Desktop anzeigen will, dann will ich dass sich alle Fenster minimieren.



  • Gast Luckie schrieb:

    GyroGearloose schrieb:

    Hallo,

    wie kann ich verhindern, dass mein Fenster minimiert wird, wenn sich der Benutzer den Desktop anzeigen lässt (also über die Schnellstartleiste oder mit WINOWSTASTE+D)?

    Was soll der Blödsinn? Ich wäre äußerst ungehalten, wen nich mir den Desktop anzeign lassen will, dass dann dein Programm immer noch da ist. Wenn ich den Desktop anzeigen will, dann will ich dass sich alle Fenster minimieren.

    Bin der gleichen Meinung!



  • Gast Luckie schrieb:

    GyroGearloose schrieb:

    Hallo,

    wie kann ich verhindern, dass mein Fenster minimiert wird, wenn sich der Benutzer den Desktop anzeigen lässt (also über die Schnellstartleiste oder mit WINOWSTASTE+D)?

    Was soll der Blödsinn? Ich wäre äußerst ungehalten, wen nich mir den Desktop anzeign lassen will, dass dann dein Programm immer noch da ist. Wenn ich den Desktop anzeigen will, dann will ich dass sich alle Fenster minimieren.

    Bin der gleichen Meinung.





  • Gast Luckie schrieb:

    Was soll der Blödsinn? Ich wäre äußerst ungehalten, wen nich mir den Desktop anzeign lassen will, dass dann dein Programm immer noch da ist. Wenn ich den Desktop anzeigen will, dann will ich dass sich alle Fenster minimieren.

    Mnja, ich ja eigentlich auch. Aber mein Programm ist eine Art Toolbar/Menü, das immer angezeigt werden soll, wie zum Beispiel das ObjectDock von Stardock. Außerdem soll es auf PCs in einem Unternehmen laufen, welche von mehreren Anwendern benutzt werden. Und die sollen das Programm nicht so einfach wegklicken können, weil dann der nächste DAU wieder verzweifelt, weil seine Auswahl nicht mehr da ist.

    An eine Appbar habe ich auch schon gedacht, das Fenster soll aber von anderen Fenstern überlagert werden können, d.h. immer im Hintergrund sein.

    Ich weiß, dass das sehr fragwürdige Bedingungen sind; habe ich mir auch nicht selber ausgedacht, ich bin nur die Exekutive. 😉

    Letztendlich soll das Menü-Fenster ein Ersatz für die Icons auf dem Desktop sein, weil man an denen zuviel kaputt machen kann (verschieben, umbenennen, löschen usw...). Die Menüpunkte starten in der Regel irgendwelche Clientprogramme, welche durchaus mal nicht funktionieren, weil ein Server ausgefallen ist. Das soll dann auch gleich im Menü vermerkt werden, damit die Anwender informiert sind und nicht einfach nach Starten des Programms mit Fehlermeldungen bombardiert werden.

    Vielleicht versteht ihr ja, wie ich das meine und habt noch eine Idee, wie man das Fenster permanent (im Hintergrund) anzeigen lassen kann.

    P.S.: Eine Side-Appbar (vgl. Office-Shortcutleiste) ist auch nicht das Wahre, weil diese zuviel Platz wegnimmt (insbesondere bei 800 × 600 ( 😞 ) Auflösungen).


Anmelden zum Antworten