От исправить пустые или белые значки на рабочем столе.
Чтобы обновить и сбросить кэш значков, перейдите в следующую папку:
C:\Users\AppData\Local\
Чтобы увидеть скрытую папку AppData, перейдите в «Организация» -> «Свойства папки и поиска» -> вкладка «Вид» и выберите «Показать скрытые файлы, папки и диски» и снимите флажок «Скрыть защищенные файлы операционной системы (рекомендуется)».
Оказавшись внутри папки, удалите IconCache.db. Создайте новый файл с именем IconCache.db и установите для него атрибут «Только чтение» в свойствах (если файл не только для чтения, кэш не будет сброшен). Затем перезагрузите компьютер.
Удалите атрибут «Только чтение» файла IconCache.db, и кэш значков будет обновлен.
Этот шаг восстановит значки ярлыков на рабочем столе до их законных значков.
РЕДАКТИРОВАТЬ
Я попробовал, и то же самое поведение на Vista. Свойства такого значка имеют те же вкладки, что и командная строка (cmd), поэтому я думаю, что белый значок страницы является общим приглашением cmd, и Windows рассматривает их как ярлыки для cmd, а не для себя. Вот почему невозможно установить их значок.
В качестве другого эксперимента я создал ярлык для cmd.exe, а затем изменил его, добавив параметры «-k old-prog.com». На этот раз смена иконок сработала, а программа - нет! Мой вывод заключается в том, что 32-битный cmd.exe не может запускать эти программы.
Я думаю, что это странный эффект 16-битной эмуляции в Windows. Видимо, 16-битный cmd.exe не принимает изменения значков. Поскольку 16-разрядные версии полностью заброшены в 64-разрядных версиях Windows, я не думаю, что есть смысл сообщать об этом Microsoft.