Zitat von
Rastaman:
bringt dich bzgl. des Trays absolut nicht weiter
Zitat von
Luckie:
Es gibt bestimmt Dokumentationen von Microsoft, wie man eine eigene Shell programmiert. Dort sollten auch die benötigten Schnittstellen dokumentiert sein.
Die einzige Dokumentation die man findest beschränkt sich leider darauf wie man ein eigenes Icon im Tray platziert. Das ganze ist aber auf jedenfall hilfreich zu wissen da das ja genau die Daten sind die man verarbeiten muß wenn Anwendungen im eigenen Tray Icons platzieren wollen.
NOTIFYICONDATA Structure
Aber insgesammt würde ich von einer komplette Neuprogrammierung des Tray absolut abraten insofern es nicht echt nötig ist. Das ganze ist ziemlich kompliziert und es ist fast ein ding der unmöglichkeit eine eigenen system tray zu implementieren der absolut fehlerfrei funktioniert. Grund ist zum einen der Mangel an Dokumentation (man kann sich vieles nur aus dem Thema verwandten
MSDN und Knowledge Base Artikeln zusammen suchen und probieren) und der Fakt das es Anwendungen gibt die den
MSDN Richtlinien nicht exakt Folgen (aber trotzdem im explorer tray richtig angezeigt werden... nur in deinem eigenen nicht). Den eigenen Tray parallel zum explorer tray laufen lassen ist übriegens nicht möglich da es nur ein 'Shell_TrayWnd' geben kann welches die Tray Nachrichten via WM_COPYDATA empfängt.
Wenn es für deine Zwecke reicht solltest du wirklich versuchen die Shell_TrayWnd und TrayNotifyWnd Fenster von der Taskbar abzudocken. Schau vielleicht mit Winspector nach ob es noch irgendein parent Fenster gibt was du gleich mit rausziehen kannst. In der Taskbar ist das soweit ich mich erinnere ganz gut organisiert.
Das einzige auf was du absolut achten mußt ist das das TrayNotififyWnd ein child Fenster vom Shell_TrayWnd bleibt.