Ich entwickle eine Anwendung namens WeatherBar. Die Hauptfunktionalität basiert auf der Interaktion mit der Windows 7-Taskleiste - sie ändert das Symbol abhängig von den Wetterbedingungen an einem bestimmten Ort.Programmatisch das Symbol der ausführbaren Datei ändern
Die Symbole, die ich in der Anwendung verwende, sind alle in einer kompilierten nativen Ressourcendatei (.res) gespeichert - ich benutze es anstelle der eingebetteten Ressource Manifest nur für Symbole. Standardmäßig ändere ich die Icon-Eigenschaft des Hauptformulars, um die Symbole entsprechend zu ändern, und es funktioniert gut, solange das Symbol nicht an die Taskleiste angeheftet ist. Wenn es fixiert wird, wechselt das Symbol in der Taskleiste automatisch zu dem Standard für die ausführbare Datei (mit Index 0 in der Ressourcendatei).
Nach ein wenig Nachforschung dachte ich, dass eine Möglichkeit, das Symbol zu ändern, das Verknüpfungssymbol ändern würde (da alle fixierten Anwendungen tatsächlich Verknüpfungen sind, die im Benutzerordner gespeichert sind). Aber es hat nicht funktioniert.
Ich nehme an, dass ich das Symbol für die ausführbare Datei ändern muss, und daher UpdateResource
verwenden, aber ich bin mir nicht ganz sicher darüber. Meine ausführbare Datei ist nicht digital signiert, daher sollte es kein Problem sein, sie zu ändern.
Wie könnte dieses Problem gelöst werden?
http://stackoverflow.com/questions/969033/change-pinned-taskbar-icon-windows-7 – Vivek
@Vivek Das hilft nicht das Problem und ist keine Lösung. –
Sie können UpdateResource nicht verwenden, die .exe-Datei ist gesperrt. Viveks Link ist ungefähr so gut, wie er wird. Es gibt einen schönen Wrapper im Window API Code Pack: http://code.msdn.microsoft.com/WindowsAPICodePack –