Programm sichtbar, allerdings nicht in der Taskleiste



  • guten tag,

    ich habe eine anwendung welche ich wahlweise normal anzeigen kann
    und wahlweise in den tray minimieren kann
    (dazu mache ich einfach ShowWindow(SW_HIDE) und halt das Tray-Icon)

    aber wenn die Anwendung normal geöffnet ist möchte ich das die
    Anwendung sichtbar ist - allerdings nicht in der Taskleiste erscheint!

    wie kann ich denn das bewerkstelligen?

    danke euch!


  • Administrator

    Das geht über ein COM-Objekt CLSID_TaskbarList. Noch ziemlich kompliziert für so wenig ^^ ...

    Vielleicht solltest du mal diesen Thread durchlesen:
    http://www.codeguru.com/forum/showthread.php?t=155042

    Grüssli



  • crouwd!

    muss das echt alles sein? geht das net einfacher :-|


  • Administrator

    Naja es gibt noch zwei andere Lösungen.
    Die eine ist den Windows Extenden Style Wert zu ändern, und zwar das WS_EX_APPWINDOW durch WS_EX_TOOLWINDOW ersetzen. Kann man mit ModifyStyleEx durchführen:

    ModifyStyleEx(WS_EX_APPWINDOW, WS_EX_TOOLWINDOW);
    

    Dadurch wird die Schrift allerdings kleiner, man hat kein Maximize oder Minimize buttons usw. Also das Fenster wird nunmal zu einem Toolwindow.

    Eine andere Möglichkeit ist, dass du ein Fenster erstellst, dieses mit ShowWindow auf SW_HIDE setzt und dann die nächsten Fenster als Child-Fenster von diesem verstecken Fenster machst. Dann wird auch nichts in der Taskbar angezeigt. Ist irgendwie auch sehr aufwendig und nicht so ganz sauber!

    Das Sauberste und eigentlich Beste ist über das COM-Objekt.

    Grüssli


Anmelden zum Antworten