Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Eigenschaft von Tray Icons in der Notification Area über die Registry ändern (Win7) (https://www.delphipraxis.net/163161-eigenschaft-von-tray-icons-der-notification-area-ueber-die-registry-aendern-win7.html)

netpilots 17. Sep 2011 19:29

Eigenschaft von Tray Icons in der Notification Area über die Registry ändern (Win7)
 
Ich möchte die Eigenschaft eines einzelnen Icons mit eigenem Programm ändern. By default werden Icons mit der Eigenschaft 'Nur Benachrichtigungen anzeigen' eingerichtet. Gibt es eine API Prozedur oder ist was in der Registry zu ändern damit das gewünschte Symbol die Eigenschaft 'Benachrichtigungen und Symbol anzeigen' kriegt.

Die Frage wurde schon Jahre zuvor von Benutzern gestellt aber noch keine passende Antwort hat je ein Forum erreicht.

Dass es möglich ist die Eigenschaft nicht nur vom Anwender zu ändern zeigen Icons von Programmen die bereits bei der Installation wie gewünscht eingestellt sind. Als Beispiel sein Nero BackItUp und SoundEffekt genannt.

Ich hoffen dass es möglich ist im Forum eine Antwort zu erhalten. Vielen Dank.

Sir Rufo 17. Sep 2011 19:38

AW: Eigenschaft von Tray Icons in der Notification Area über die Registry ändern (Win
 
Hast du mal RegMon und FileMon laufen lassen und dann so ein TrayIcon umgestellt?
Wenn was in der Reg oder Datei gespeichert wird, dann bekommst du das mit.

Muss ja dann auf jeden Fall erst mal eine per User Einstellung sein.

Dann kann man auch schauen ob das Nero TrayIcon eine per User oder globale Einstellung hat ;)

Union 17. Sep 2011 19:47

AW: Eigenschaft von Tray Icons in der Notification Area über die Registry ändern (Win
 
Code:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\EnableAutoTray
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\EnableAutoTray

netpilots 18. Sep 2011 13:34

AW: Eigenschaft von Tray Icons in der Notification Area über die Registry ändern (Win
 
Zitat:

Zitat von Sir Rufo (Beitrag 1125056)
Hast du mal RegMon und FileMon laufen lassen und dann so ein TrayIcon umgestellt?
Wenn was in der Reg oder Datei gespeichert wird, dann bekommst du das mit.

Muss ja dann auf jeden Fall erst mal eine per User Einstellung sein.

Dann kann man auch schauen ob das Nero TrayIcon eine per User oder globale Einstellung hat ;)


Vielen Dank für die Antworten.

RegMon von Sysinternals heisst für Win7 jetzt 'Process Monitor'. Den zu benutzen habe ich auch gedacht. Zeigt extrem viele Registry Zugriffe und der Durchblick wird dadurch etwas schwierig. Müsste ein cleveres Filter anwenden.

HKCU\Software\Microsoft\Windows\CurrentVersion\Exp lorer\EnableAutoTray existiert bei Win7 weder als Key noch als Wert. Vielleicht muss ich ihn selbst erzeugen. Wenn man es so anschaut sieht der Eintrag eher so aus dass er alle unbenutzten Icons anzeigt oder versteckt. Ich brauche es aber für ein einzellnes Icon separat.

Union 18. Sep 2011 14:11

AW: Eigenschaft von Tray Icons in der Notification Area über die Registry ändern (Win
 
Zitat:

Ich brauche es aber für ein einzellnes Icon separat
Windows legt diese Informationen wohl als Stream binär für alle Icons ab. Die befinden sich in:
Code:
HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify\IconStreams
HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify\PastIconsStream

CCRDude 19. Sep 2011 13:13

AW: Eigenschaft von Tray Icons in der Notification Area über die Registry ändern (Win
 
Nicht alles, was machbar ist, muss auch gemacht werden ;)

Da Du nach der API dazu fragst, schlage ich mal vor, Du beschäftigst Dich mit den Design-Guidelines zu Windows 7. Microsoft möchte nämlich gar nicht, daß Software das einstellt. Wenn Du dann immer noch der Meinung bist, daß Du das machen musst: siehe Unions Info, musst Du halt ein bißchen basteln :)

netpilots 22. Sep 2011 06:26

AW: Eigenschaft von Tray Icons in der Notification Area über die Registry ändern (Win
 
@Union, habe mir die Stream man angeschaut. Mehrere kb gross. Da blicke ich noch nicht durch. Man könnte ruhig experimentieren oder gar die Daten löschen. Bei einem Neustart werden sie neu erzeugt und es hat den Vorteil dass es dann wiede schön aufgeräumt ist. Alle zuvor verwendeten und jetzt nicht mehr benötigten Notifications sind dann entfernt.

@CCRDude, ich bin der Meinung dass sogar was unmachbar scheint gemacht werden soll ;-) Machen wir nicht ab und zu SAchen die MS nicht möchte dass sie gemacht werden? Ja, basteln wäre angesagt. In dem Fall mit kb grossen Daten in der Registry halt ein schwieriges unterfangen.

Union 22. Sep 2011 11:45

AW: Eigenschaft von Tray Icons in der Notification Area über die Registry ändern (Win
 
Also in dem Stream steckt die Einstellung wie sich das Icon verhalten soll, der Pfad der Anwendung und das Icon selber drin. Die Pfade sind Unicode. Das Konfigurationsbyte liegt 20 Byte vor dem Pfad. 16=Immer zeigen, 17=Nie, 18=Verbergen wenn inaktiv. Leider muss man den Explorer nach einer Änderung neu starten.

netpilots 23. Sep 2011 00:59

AW: Eigenschaft von Tray Icons in der Notification Area über die Registry ändern (Win
 
Zitat:

Zitat von Union (Beitrag 1125996)
Also in dem Stream steckt die Einstellung wie sich das Icon verhalten soll, der Pfad der Anwendung und das Icon selber drin. Die Pfade sind Unicode. Das Konfigurationsbyte liegt 20 Byte vor dem Pfad. 16=Immer zeigen, 17=Nie, 18=Verbergen wenn inaktiv. Leider muss man den Explorer nach einer Änderung neu starten.

Schon mal ein guter Ansatz. Ich werde mal etwas experimentieren. Wenn man die Einstellung händisch vornimmt wird zwar das Icon sofort angezeigt aber den Explorer neu starten ist auch kein Hindernis. Entweder direkt nach der Manipulation oder dann nach den Neustart.

CCRDude 23. Sep 2011 08:28

AW: Eigenschaft von Tray Icons in der Notification Area über die Registry ändern (Win
 
Liste der Anhänge anzeigen (Anzahl: 1)
@netpilots: ich sprach ja nicht davon, was unmachbar scheint, sondern davon, was man nicht machen sollte. Aus reinem technischen Interesse habe ich da nichts gegen!

Das mit dem Konfigurationsbyte hätte ich jetzt spontan anders gesehen, weil meiner Meinung nach jedes Record direkt mit dem Pfad beginnt, ich kann mich aber auch täuschen :)

So oder so, siehe mein kleines Testprogramm im Anhang, scheint mir plausible Werte zu liefern.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:10 Uhr.
Seite 1 von 2  1 2      

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