System Tray
-
Hi,
wie kann ein systemtray erzeugen ?
die frage hoert sich vieleicht nen bisl undifferenziert an, aber im bereich der windows api bin ich nen noob.
also wäre es nett wenn ihr mir alles eins nach dem anderen erklärt!
ich brauche also die api funktionen und deren aufruf um ein simples systemtray icon zu erzeugen und sein erscheinungsbild zu verändern.vielen dank schon mal für die hilfe!
-
-
-
danke für die links -> haben mir schon weitergeholfen.
hab jedoch noch eine frage. muss das trayicon an ein fenster gebunden sein ? in meinem spezifischen programm bräuchte ich das fenster nämlich erst mal nicht. kann natürlich das fenster einfach net anzeigen lassen, aber das är ja eigentlich geschummelt.
-
The Shell uses hWnd and uID to identify which icon to operate on when Shell_NotifyIcon is invoked.
Normalerweise brauchst du afaik ein Fenster, aber auf jeden Fall bekommst du die Nachrichten ohne hWnd (falls das doch gehen sollte) nicht mehr in der Message-Loop eines Fensters (ist ja eigentlich auch logisch
)
-
hmm aber ich muss ja irgendwie an die informationen drann kommen wenn z.B. einer draufklickt. also muss ich ein fenster machen das ich einfach net anzeige.
na gut müll ich meinen speicher noch nen bisl mehr zu-> ist ja bei win sowieso standart!
edit: also das mit den sternchen ist kein böses wort!! -> s t a n d a r t
-
standard schreibt man mit d am ende
Nen Fenster zieht eh nich soo viel - Ich verwende teilweise über 60 Fenster (Edit-Controls, Static-Controls, eigene Controls, ...)
-
Keine Ahnung, ob das überhaupt ohne Fenster klappen würde, aber du müsstest dann eben direkt in deiner Message-Loop die Nachrichten bearbeiten (anstatt es mit DispatchMessage an entsprechende WndProc weiterzuleiten).
Aber wenn du sowieso später das Fenster erstellen willst kannst du dir diesen Aufwand eigentlich sparen (falls es so überhaupt funktioniert)
-
Wenn du Lust hast, dann kannste dir ja mal meine Klasse CTrayIcon anschauen. Findest du auf meiner Homepage in de WinAPI-Ecke bei "Klassen". Damit wird einiges einfacher.