2010-04-26 6 views
3

J'ai une application MFC normale avec une icône intégrée. Si je démarre l'application, l'icône s'affiche dans la barre des tâches de Windows 7. Mais lorsque je change l'icône dans les ressources, reconstruis l'application et la démarre, la barre des tâches n'affiche pas l'icône en cours, mais l'icône de la première exécution.Mise à jour de l'icône de l'application dans Windows 7 Barre des tâches

Il n'y a pas de code spécial dans l'application qui fasse quelque chose de spécifique avec la barre des tâches de Windows-7.

Existe-t-il un moyen, (en C++), d'indiquer à la barre des tâches Windows-7 d'afficher l'icône en cours?

+0

La modification du numéro de version dans VERSIONINFO n'a pas aidé. Changer le nom fait, mais n'est pas une solution. –

Répondre

1

Avez-vous empty/delete le shell icon cache?

+0

Windows-7 semble avoir une autre place pour l'icon-cache; Je serais heureux, si d'autres personnes n'auront pas besoin de tuer l'explorateur, pour voir la nouvelle icône. –

+0

Il s'agit d'un fichier caché, activer Afficher les fichiers cachés/système dans l'explorateur. Si le cache d'icônes est en cause, cela n'affecterait que votre machine. (En supposant que la modification des ressources ne fait pas partie du fonctionnement normal de vos programmes) – Anders

0

a fait votre supprimer l'icône précédente de ressources .... et lui assigner une nouvelle icône à file..too après avoir mis la ressource ... pourrait cela pourrait fonctionner ....

+0

J'avais édité le fichier .ico - et reconstruit; Il n'y a qu'une seule icône dans l'exécutable; mais même en ajoutant l'icône plusieurs fois, cela ne change pas la situation. –

1

Je crois que Si vous reconstruisez une application, mais qu'elle est toujours appelée par le même nom, l'explorateur ne pense pas qu'il doit recharger l'icône, même si la nouvelle icône est la seule de l'application.

Si vous deviez lancer le programme, personne d'autre n'aurait ce problème puisque la première version de l'application aurait la nouvelle icône, mais pour vos propres besoins, vous pouvez appeler SHChangeNotify(); de shell32.dll pour rafraîchir votre propre vue de l'icône.

Questions connexes