AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Shell_NotifyIcon (Modify) funktioniert nicht!
Thema durchsuchen
Ansicht
Themen-Optionen

Shell_NotifyIcon (Modify) funktioniert nicht!

Ein Thema von woggly4 · begonnen am 10. Mär 2007 · letzter Beitrag vom 10. Mär 2007
Antwort Antwort
Seite 1 von 2  1 2      
woggly4

Registriert seit: 13. Jan 2007
11 Beiträge
 
#1

Shell_NotifyIcon (Modify) funktioniert nicht!

  Alt 10. Mär 2007, 14:27
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 Shell_NotifyIcon(NIM_MODIFY, @NIM) aber der gewünschte Effekt tritt nicht auf!
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#2

Re: Shell_NotifyIcon (Modify) funktioniert nicht!

  Alt 10. Mär 2007, 14:30
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?)
  Mit Zitat antworten Zitat
woggly4

Registriert seit: 13. Jan 2007
11 Beiträge
 
#3

Re: Shell_NotifyIcon (Modify) funktioniert nicht!

  Alt 10. Mär 2007, 14:45
Zitat von Muetze1:
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?)
Punkt 1 und 2 treffen zu.
Zu Punkt 3: Beim minimieren: Shell_NotifyIcon(NIM_DELETE, @NIM) beim maximieren Shell_NotifyIcon(NIM_ADD, @NIM) 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!
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#4

Re: Shell_NotifyIcon (Modify) funktioniert nicht!

  Alt 10. Mär 2007, 14:47
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?
  Mit Zitat antworten Zitat
woggly4

Registriert seit: 13. Jan 2007
11 Beiträge
 
#5

Re: Shell_NotifyIcon (Modify) funktioniert nicht!

  Alt 10. Mär 2007, 15:00
Zitat von Muetze1:
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?
Aber wenn es im TNA ist und ich irgendwie alle 10 Sekunden DELETE und ADD hintereinander mach, ändert sich das Symbol komischerweise auch nicht. Wie meinst du das, dass ich das in der Struktur änder?
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Shell_NotifyIcon (Modify) funktioniert nicht!

  Alt 10. Mär 2007, 15:03
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.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
woggly4

Registriert seit: 13. Jan 2007
11 Beiträge
 
#7

Re: Shell_NotifyIcon (Modify) funktioniert nicht!

  Alt 10. Mär 2007, 15:04
Zitat von DGL-luke:
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.
Achso, das werde ich gleich mal ausprobieren. Danke!
  Mit Zitat antworten Zitat
woggly4

Registriert seit: 13. Jan 2007
11 Beiträge
 
#8

Re: Shell_NotifyIcon (Modify) funktioniert nicht!

  Alt 10. Mär 2007, 15:10
Also ich habe das jetzt mit
Delphi-Quellcode:
  Icon.Handle;
  Shell_NotifyIcon(NIM_Modify, @NIM);
ausprobiert, aber das funktioniert auch irgendwie nicht. Oder weise ich den handle einfach nur falsch zu?
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#9

Re: Shell_NotifyIcon (Modify) funktioniert nicht!

  Alt 10. Mär 2007, 15:53
Entschuldige bitte, aber bei den kleinen Quelltextstüchen kann man nu nicht viel erkennen.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
10. Mär 2007, 16:47
Dieses Thema wurde von "Christian Seehase" von "Programmieren allgemein" nach "Windows API / MS.NET Framework API" verschoben.
Ein delphispezifisches Problem
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz