Обычно, чтобы обновить кэш иконок в Windows, мы должны перезагрузиться.
Есть ли способ обновить кэш иконок в Windows 7/8 без перезагрузки ?
Обычно, чтобы обновить кэш иконок в Windows, мы должны перезагрузиться.
Есть ли способ обновить кэш иконок в Windows 7/8 без перезагрузки ?
Ответы:
Да.
Вы можете просто запустить следующую команду, чтобы очистить кэш иконок:
ie4uinit.exe -ClearIconCache
Для Windows 10 используйте:
ie4uinit.exe -show

Проверьте это видео для демонстрации.
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL);
Следующий способ работал с Vista; Требуется перезагрузка Проводника, но без перезагрузки.
Краткая версия : остановите все explorer.exeэкземпляры, удалите скрытый IconCache.dbфайл пользователя и перезапустите Explorer.
Длинная версия (есть и другие способы):
Закройте все окна проводника, которые в данный момент открыты.
Запустите диспетчер задач, используя последовательность клавиш CTRL+ SHIFT+ ESC, или запустите taskmgr.exe.
На вкладке «Процесс» щелкните правой кнопкой мыши explorer.exeпроцесс и выберите « Завершить процесс» .
Нажмите кнопку Завершить процесс , когда появится запрос на подтверждение.
В меню « Файл» диспетчера задач выберите « Новая задача» («Выполнить»).
Введите CMD.EXEи нажмите ОК
В окне командной строки введите команды одну за другой и нажимайте ENTERпосле каждой команды:
CD /d %userprofile%\AppData\Local
DEL IconCache.db /a
EXIT
В диспетчере задач нажмите « Файл» , выберите « Новая задача» («Выполнить»).
Введите EXPLORER.EXEи нажмите ОК.
Предупреждение : важно, чтобы Explorer.exe не запускался при удалении файла IconCache.db. Если проводник запущен, он будет просто записывать текущие (поврежденные) значки при следующем выключении (например, при выходе из системы, завершении работы или перезапуске).
taskkill /IM explorer.exe /FCD /d %userprofile%\AppData\LocalDEL IconCache.db /aexplorer.exeчерез диспетчер задачЕсть чистый способ закрыть Explorer.exeэкземпляр, который показывает панель задач и значки рабочего стола.
Вы должны открыть классическое Shutdownдиалоговое окно. Единственный общий способ сделать это:
Оставьте хотя бы один пиксель фона рабочего стола без перекрывающихся окон, затем нажмите на него, чтобы сфокусироваться на самом рабочем столе (тот, что с иконками).
Нажмите Alt+ F4сочетание клавиш: тогда появится классический диалог выключения.
Теперь нажмите и удерживайте CTRL + ALT + SHIFT и нажмите Cancel.
File Explorerсначала закрыть ВСЕ окна! Затем вы можете Exit Explorerиз меню запуска Windows 7. Сначала откройте командную строку. Затем нажмите на меню «Пуск», удерживайте Ctrl+Shiftи щелкните правой кнопкой мыши справа над Shutdownкнопкой, чтобы открыть Exit Explorerопцию подменю, и щелкните ее. В командной строке введите, CD /d %userprofile%\AppData\Localзатем введите del IconCache.db /aи последний тип explorer.
explorer.exe
Winи отпустите. Потом дважды Alt+F4 . Этот способ быстрее, и вам не нужно видеть часть рабочего стола, чтобы открыть классическое меню выключения.
Создайте файл .bat и вставьте в него следующие строки, а затем запустите его.
taskkill /f /im explorer.exe
cd /d %userprofile%\AppData\Local
del IconCache.db /a
start explorer.exe
copy con clearcache.batзатем Enter, затем щелкните правой кнопкой мыши, чтобы вставить его. Еще один Enter, а затем Ctrl-Z завершит работу по созданию файла. Затем я набрал его clearcacheдля запуска. Окна моргнули, и все иконки вернулись. За все исправление ушло 30 секунд. БЛАГОДАРЮ ВАС. ОТЛИЧНЫЙ ОТВЕТ.
Если вы не хотите делать .bat, скопируйте строку позади, нажмите Win+ R, вставьте ее и нажмите Enter.
cmd /c taskkill /f /im explorer.exe & del /a %userprofile%\AppData\Local\IconCache.db & start explorer
Вы также можете вставить его в адресную строку окна проводника; и, конечно, в окне командной строки (вам не нужно cmd /cтогда), но у вас не будет строки, чтобы легко повторить ее в случае, если она понадобится вам снова.
ВНИМАНИЕ :
Не запускайте эту строку в режиме с повышенными привилегиями, если вы не уверены, что являетесь единственным пользователем в системе, или вы убьете проводник во всех открытых сеансах . Поэтому не нажимайте Shift+ Ctrl+ Enterв диалоговом окне « Выполнить ».
Кстати, я не вижу необходимости cd /dкоманды, которую я вижу неоднократно. Кажется, что все просто копируют / вставляют, не задумываясь, для чего нужны команды.
Примечание:
Я использую &вместо того, чтобы &&на случай, если одна из команд завершится ошибкой, обеспечить перезапуск проводника.
Хотя это и не пользовательский ответ, просто вызов
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, NULL, NULL);
делает это [1]. Возможно, кто-то создаст утилиту для этого; в настоящее время, используя 7-zip и пытаясь изменить ассоциации файлов (для всех пользователей; без повышения разрешений; что приведет к сбою и сообщит о сбое операции), вызывает уведомления и перестраивает кэш значков.
О, только что видел комментарии к принятому ответу, где обсуждается звонок, и упоминается инструмент для этого: https://github.com/crazy-max/IconsRefresh .
[1] https://docs.microsoft.com/en-us/windows/desktop/api/shlobj_core/nf-shlobj_core-shchangenotify
Если вам нужен полный обновленный кэш значков, перейдите в адресную строку проводника Windows и введите «C: \ Users * Имя пользователя * \ AppData \ Local», а затем удалите IconCache.db.
** Примечание: ** Это может быть скрытый файл. Поэтому я рекомендую включить параметр Показать скрытые файлы в папке.
Не очень красиво, но эффектно:
C:> Исследователь Цкил