![]() |
Shell_NotifyIcon (Modify) funktioniert nicht!
Hallo, ich habe mir ein Programm programiert, dass man in den TNA verschieben kann. Es ist ein Pingprogramm und je nach Verfügbarkeit des Internets, verändert sich das Programmsymbol. Jetzt zu meinem Problem: Wenn es im TNA ist und das Symbol sich ändert, ändert es sich nicht im TNA. Ich muss das Programm erst maximieren und dann wieder minimieren, damit sich das Symbol im TNA ändert... Das ist natürlich doof und auch nicht erwünscht! Wie kann ich das machen, dass sich das Icon ändert, ohne dass ich das Programm nochmal in den Vordergrund holen muss? Ich habe es schonmal mit
Delphi-Quellcode:
aber der gewünschte Effekt tritt nicht auf! :roll:
Shell_NotifyIcon(NIM_MODIFY, @NIM)
|
Re: Shell_NotifyIcon (Modify) funktioniert nicht!
1. Ist das angegebene Fensterhandle in der NIM Struktur noch das gleiche?
2. Ist die NIM Struktur die gleiche wie beim Hinzufügen oder genauso gefüllt? 3. Was für Aktionen machst du beim Minimieren/Maximieren in deinem Programm? (Vielleicht TNA Icon entfernen und neu hinzufügen?) |
Re: Shell_NotifyIcon (Modify) funktioniert nicht!
Zitat:
Zu Punkt 3: Beim minimieren:
Delphi-Quellcode:
beim maximieren
Shell_NotifyIcon(NIM_DELETE, @NIM)
Delphi-Quellcode:
Aber im TNA zeigt er das ja alles an allerdings ändert er das Symbol im TNA nur, wenn ich maximiere und dann wieder minimieren, ich will den Schritt aber nicht machen müssen!
Shell_NotifyIcon(NIM_ADD, @NIM)
|
Re: Shell_NotifyIcon (Modify) funktioniert nicht!
Das er beim Löschen und neu Hinzufügen das aktuelle Icon nimmt, ist ja schlichtweg nicht verwunderlich. Aber eine dumme Frage habe ich noch: Änderst du vor dem NIM_MODIFY Aufruf auch das Icon Handle in der Struktur?
|
Re: Shell_NotifyIcon (Modify) funktioniert nicht!
Zitat:
|
Re: Shell_NotifyIcon (Modify) funktioniert nicht!
Hallo,
in der Struktur hast du ja ein Handle für das Icon. wenn deine application ein neues symbol bekommt, kann sich das handle ändern. das heißt, du musst deine struktur updaten (handle neu zuweisen) und dann das MODIFY durchführen. |
Re: Shell_NotifyIcon (Modify) funktioniert nicht!
Zitat:
|
Re: Shell_NotifyIcon (Modify) funktioniert nicht!
Also ich habe das jetzt mit
Delphi-Quellcode:
ausprobiert, aber das funktioniert auch irgendwie nicht. Oder weise ich den handle einfach nur falsch zu?
Icon.Handle;
Shell_NotifyIcon(NIM_Modify, @NIM); |
Re: Shell_NotifyIcon (Modify) funktioniert nicht!
Entschuldige bitte, aber bei den kleinen Quelltextstüchen kann man nu nicht viel erkennen.
|
DP-Maintenance
Dieses Thema wurde von "Christian Seehase" von "Programmieren allgemein" nach "Windows API / MS.NET Framework API" verschoben.
Ein delphispezifisches Problem |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:17 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz