web-dev-qa-db-fra.com

Actualiser le cache d'icônes sans redémarrer

Normalement, pour actualiser le cache d'icônes dans Windows, nous devons redémarrer.

Est-il possible d'actualiser le cache d'icônes dans Windows 7/8 sans redémarrer ?

165
Elmo

Oui.

Vous pouvez simplement exécuter la commande suivante pour effacer le cache d'icônes:

ie4uinit.exe -ClearIconCache

Pour Windows 10, utilisez:

ie4uinit.exe -show

Cochez cette vidéo pour une démo.

[crédit de pointe]

278
Elmo

La manière suivante a fonctionné depuis Vista; Il nécessite un redémarrage de l'explorateur, mais pas de redémarrage.

Version abrégée : arrêtez toutes les instances de Explorer.exe, supprimez le fichier caché IconCache.db de l'utilisateur et redémarrez l'Explorateur.

Version longue (il existe aussi d'autres moyens):

  1. Fermez toutes les fenêtres de l'explorateur actuellement ouvertes.

  2. Lancer Task Manager en utilisant le CTRL+SHIFT+ESC séquence de touches ou en exécutant taskmgr.exe.

  3. Dans l'onglet Processus , cliquez avec le bouton droit de la souris sur le processus Explorer.exe et sélectionnez Terminer le processus .

  4. Cliquez sur le bouton Terminer le processus lorsque la confirmation vous est demandée.

  5. Dans le menu Fichier de Gestionnaire de tâches , sélectionnez Nouvelle tâche (Exécuter…)

  6. Tapez CMD.EXE et cliquez sur OK

  7. Dans la fenêtre d'invite de commande, tapez les commandes une par une et appuyez sur ENTER après chaque commande:

    CD /d %userprofile%\AppData\Local
    DEL IconCache.db /a
    EXIT
    
  8. Dans Gestionnaire de tâches , cliquez sur Fichier , sélectionnez Nouvelle tâche (Exécuter…)

  9. Tapez Explorer.EXE et cliquez sur OK.

source des étapes d'instruction

Avertissement : Il est important que Explorer.exe ne soit pas en cours d'exécution lorsque vous supprimez le fichier IconCache.db. Si Explorer est en cours d'exécution, il écrira simplement les icônes actuelles (corrompues) lors de sa prochaine fermeture (par exemple, lors de la fermeture de session, de l'arrêt ou du redémarrage).

36
Ƭᴇcʜιᴇ007
  1. Ouvrir la console de commande avec les privilèges d'administrateur
  2. taskkill /IM Explorer.exe /F
  3. CD /d %userprofile%\AppData\Local
  4. DEL IconCache.db /a
  5. démarrer Explorer.exe via Gestionnaire de tâches
15
Grumpy ol' Bear

Il existe un moyen propre de fermer l'instance Explorer.exe qui affiche la barre des tâches et les icônes du bureau.

Vous devez afficher la fenêtre de dialogue classique Shutdown. La seule manière courante que j'ai trouvée pour accomplir ceci est:

  1. Laissez au moins un pixel de l'arrière-plan du Bureau exempt de fenêtres superposées, puis cliquez dessus pour vous concentrer sur le Bureau lui-même (celui avec les icônes).

  2. Presse Alt + F4 raccourci clavier: la boîte de dialogue classique d'arrêt apparaît.

  3. Maintenant, appuyez et maintenez CTRL + ALT + MAJ cliquez sur Cancel.

6

Créez un fichier .bat et collez-y les lignes suivantes, puis exécutez-le.

taskkill /f /im Explorer.exe
cd /d %userprofile%\AppData\Local
del IconCache.db /a
start Explorer.exe
5
farukdgn

Si vous ne voulez pas créer un .bat, copiez la ligne derrière, appuyez sur Win+R, collez-le et appuyez sur Enter.

cmd /c taskkill /f /im Explorer.exe & del /a %userprofile%\AppData\Local\IconCache.db & start Explorer

Vous pouvez également le coller dans la barre d'adresse d'une fenêtre de l'Explorateur. et, bien sûr, dans une fenêtre de ligne de commande (vous n'avez pas besoin du cmd /c alors), mais vous n'avez pas la ligne pour la répéter facilement au cas où vous en auriez besoin à nouveau.

MISE EN GARDE:

N'exécutez pas cette ligne dans une invite élevée sauf si vous êtes certain d'être le seul utilisateur du système ou de tuer Explorer dans toutes les sessions ouvertes. Par conséquent, n'appuyez pas sur Shift+Ctrl+Enter dans la boîte de dialogue Exécuter .

En passant, je ne vois pas le besoin de la commande cd /d que je vois à plusieurs reprises. Il semble que tout le monde ne fait que copier/coller sans se demander à quoi servent les commandes.

Remarque:

J'utilise & au lieu de && juste au cas où l'une des commandes échouerait pour assurer le redémarrage de l'explorateur.

1
cdlvcdlv

Bien qu’il ne s’agisse pas d’une réponse utilisateur, un simple appel à

SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL);

fait cela [1]. Peut-être que quelqu'un créerait un utilitaire pour faire exactement cela; actuellement, utiliser 7-Zip et essayer de modifier les associations de fichiers (pour tous les utilisateurs; sans élévation d'autorisations; ce qui échouerait et indiquerait que l'opération échouait) appelle les notifications et reconstruit le cache d'icônes.

Oh, je viens de voir les commentaires à la réponse acceptée, où l'appel est discuté, et un outil pour cela est mentionné: https://github.com/crazy-max/IconsRefresh .

[1] https://docs.Microsoft.com/en-us/windows/desktop/api/shlobj_core/nf-shlobj_core-shchangenotify

0
Mike Kaganski