Самостоятельно созданный desktop.ini не работает

3816
user1580348

В Windows 7 x64 SP1 при создании файла desktop.ini с помощью текстового редактора (например, блокнота, notepad ++) и сохранении его в папке он не работает. Например, я сохранил этот desktop.ini в папке:

[.ShellClassInfo] IconResource=C:\Windows\explorer.exe,0 [ViewState] Mode= Vid= FolderType=Generic 

Но это не работает, т.е. значок папки не меняется! Я пробовал кодировку ANSI или Unicode, ни одна не работает.

Конечно, когда я меняю значок папки в диалоговом окне «Свойства», он работает: в папке отображается новый значок, и в папке создается файл desktop.ini точно в указанном выше формате.

Как я могу сделать эту работу?

4

2 ответа на вопрос

6
duDE

У desktop.ini должен быть атрибут system, а для папки, в которой он находится, также должен быть указан атрибут system, чтобы он имел эффект.

Используйте следующую процедуру для настройки стиля папки с помощью Desktop.ini :

  • Используйте PathMakeSystemFolder, чтобы сделать папку системной папкой. Это устанавливает бит только для чтения в папке, чтобы указать, что специальное поведение, зарезервированное для Desktop.ini, должно быть включено. Вы также можете сделать папку системной папкой из командной строки, используя attrib + s FolderName .
  • Создайте файл Desktop.ini для папки. Вы должны пометить его как скрытый и системный, чтобы гарантировать, что он скрыт от обычных пользователей.
  • Убедитесь, что создаваемый вами файл Desktop.ini имеет формат Unicode . Это необходимо для хранения локализованных строк, которые могут отображаться пользователям.
Спасибо! Я только изменил атрибуты desktop.ini на системный и скрытый. Я не знал, что папка также нуждается в системном атрибуте. Теперь это работает! Еще раз спасибо! user1580348 9 лет назад 1
Однако desktop.ini, созданный Windows с диалоговым окном Properties, кодируется в ANSI, а не в Unicode. Смотрите этот скриншот из notepad ++ http://i.imgur.com/xLtzQ7G.png user1580348 9 лет назад 0
@ user1580348: Да, это ТОЛЬКО необходимо для хранения локализованных строк, например, арабских или китайских. duDE 9 лет назад 0
Привет, duDE, возможно ли добавить пользовательские разделы с парами имя-значение в файл desktop.ini, или это будет противоречить нормальной работе? Причина заключается в следующем: в дополнение к функциональности значка папки, я хочу сохранить другую пользовательскую информацию в этом файле. user1580348 9 лет назад 0
Попробуйте, я бы сказал, что это возможно ... duDE 9 лет назад 0
Конечно, я уже попробовал это, и это, кажется, не конфликтует с нормальной работой. Тем не менее, это может быть иначе в долгосрочной перспективе. Вот почему я спросил - может быть, кто-то знает это лучше. Вот почему люди задают вопросы здесь. Не нужно что-то голосовать, потому что кто-то задает вопрос ... user1580348 9 лет назад 0
Точная кодировка desktop.ini должна быть UTF-8, если быть точным! Daniel 5 лет назад 0
0
Nnnes

Существует очень простой способ установить соответствующие атрибуты для папки и desktop.iniпросто с помощью проводника.

  1. Создайте desktop.iniфайл и сохраните его в верхнем уровне папки. Если вы используете Блокнот или что-то подобное, обязательно сохраните его как тип «Все файлы», чтобы он не сохранялся как desktop.ini.txt. Кодировка не важна, если вы не используете специальные символы.
  2. Нажмите Propertiesв контекстном меню папки и откройте Customizeвкладку. *
  3. Нажмите OK(нет Cancelили X в углу). Нет необходимости менять какие-либо настройки.

desktop.iniАтрибуты папки и теперь установлены автоматически. Отображаемый значок папки также обновляется немедленно, не требуя удаления iconcache.dbили перезагрузки компьютера. Это также приводит desktop.iniк исчезновению, если в Explorer установлено скрытие защищенных файлов операционной системы.

Я проверил, что этот метод работает в Windows 7 и Windows 10.

* Если вы не видите Customizeвкладку, попробуйте щелкнуть правой кнопкой мыши папку и затем нажать Open Folder Location, а затем продолжить.