Programm Icon im Systray
Verfasst: 13.06.2008 16:52
Hallo,
mein kleines Prog läuft ohne GUI im Hintergrund.
Ich wollte dem jetzt ein Icon verpassen und dieses im Systray anzeigen.
Das Icon habe ich eingebunden via .rc Datei. 32x32. Alles OK. Bei der .exe wird's auch angezeigt.
Nur scheitert die AddSysTrayIcon Funktion.
Hier bin ich immer wieder auf den Code-Auszug von ts-soft gestoßen:
Funktioniert bei mir aber nicht.
Den Hinweis, dass es erst nach kompilieren klappt, habe ich gelesen.
Auch den Code in diesem Beitrag vom mk-soft habe ich probiert.
Icon via .rc eingebunden. Verschiedene Icons probiert. Alles OK!
Es wird aber immer nur das Standard Icon #IDI_APPLICATION im Systray angezeigt, also folgende Bedingung ausgeführt:
So funktioierts natürlich. Dann wäre es in der .exe aber doppelt drin.
Hat jemand eine Idee?
Vielen Dank und Gruß
stab
mein kleines Prog läuft ohne GUI im Hintergrund.
Ich wollte dem jetzt ein Icon verpassen und dieses im Systray anzeigen.
Das Icon habe ich eingebunden via .rc Datei. 32x32. Alles OK. Bei der .exe wird's auch angezeigt.
Nur scheitert die AddSysTrayIcon Funktion.
Hier bin ich immer wieder auf den Code-Auszug von ts-soft gestoßen:
Code: Alles auswählen
TrayIcon.l = LoadIcon_(GetModuleHandle_(0), 1)
AddSysTrayIcon(1, WindowID(0), TrayIcon)
Den Hinweis, dass es erst nach kompilieren klappt, habe ich gelesen.
Auch den Code in diesem Beitrag vom mk-soft habe ich probiert.
Icon via .rc eingebunden. Verschiedene Icons probiert. Alles OK!
Es wird aber immer nur das Standard Icon #IDI_APPLICATION im Systray angezeigt, also folgende Bedingung ausgeführt:
Code: Alles auswählen
If hIcon = 0
hIcon = LoadIcon_(0, #IDI_APPLICATION)
EndIf
AddSysTrayIcon(0, WindowID(0), hIcon)
So funktioierts natürlich. Dann wäre es in der .exe aber doppelt drin.
Code: Alles auswählen
DataSection
ICON: IncludeBinary "test.ico"
EndDataSection
ci = CatchImage(1, ?ICON)
OpenWindow(0,0,0,0,0,"",#WS_VISIBLE)
AddSysTrayIcon(5, WindowID(0), ci)
Vielen Dank und Gruß
stab