Войти

Показать полную графическую версию : как задать имя для папки?


Eric-S
15-03-2011, 12:03
Здравствуйте!

У меня есть две папки books, на дисках d: и e:.
Хочу, чтобы в эксплорере первая папка была подписана как "мои книги", а вторая, как просто "книги".

Я поставил им атрибуты "чтение", "системный".
Кинул в них файлы "desktop.ini" со следующим содержимым:

[DeleteOnCopy]
PersonalizedName=книги

И ничего не получил! Подскажите пожалуйста, что нужно ещё сделать, чтобы изменить видимое имя?

Eric-S
15-03-2011, 13:03
Вот нашел и попробовал ещё один вариант, тоже не сработал.
папке атрибут "только чтение"
"desktop.ini" с атрибутами "системный", "только чтение" и содержанием:
[.ShellClassInfo]
LocalizedResourceName=книги
IconResource=%SystemRoot%\system32\SHELL32.dll,159
IconFile=%SystemRoot%\system32\shell32.dll

атрибуты ставил так:
attrib +r e:\books
attrib +r +s e:\books\desktop.ini

Petya V4sechkin
15-03-2011, 13:13
Eric-S, в XP параметр LocalizedResourceName может содержать только ссылку на ресурс библиотеки, например:
[.ShellClassInfo]
LocalizedResourceName=@Shell32.dll,-29992

А почему бы просто не переименовать папки по-русски?

Eric-S
15-03-2011, 15:15
Против переименования несколько аргументов:
1. многие пути завязаны на старое имя папок. Если скажем индекс я за недельку перестрою, то с урлами будет уже сложнее.
2. к сожалению некоторые программы спотыкаются о кирилические имена особенно с пробелами.
3. это именно моё украшательство, которое не должно влиять на структуру каталогов.

На счёт ресурсов, можно по подробнее? Попробовал сделать свою dll'ку. Естественно я знаю номера строк, но обломался.
Как именно надо делать библиотеки с ресурсами, чтобы винда их поняла в качестве имён? Может быть не stringtable, а скажем messagetable?

Petya V4sechkin
15-03-2011, 16:41
Eric-S, попробуйте сначала в свойствах папки на вкладке Настройка сменить значок. При этом система сама создаст Desktop.ini (а вы отредактируете его по своему усмотрению).

Естественно я знаю номера строк, но обломался.
LocalizedResourceName содержит номер с минусом.

ShaddyR
15-03-2011, 18:42
Petya V4sechkin, контекстный вопрос: создаем папку, присваиваем ей значок, редактируем desktop.ini на предмет хинтов и пр. Затем копируем ее на произвольное место ж.диска.
Результат:
в большинстве случаев значок и хинт сохраняются
иногда исчезают, визуально становится все по-умолчанию, хотя файл в папке присутствует. При этом достаточно в свойствах папки сменить значок и после применения хинт появляется
Усложняем задачу: папка копируется на место, где уже есть одноименная папка.
При этом:
если папка не имеет значка - ничего не меняется, помогает вариант 2 выше.
если значок имеется - папка принимает параметры, имеющиеся в desktop.ini копируемой папки.

Собсно, вопрос: от чего зависит реакция системы на описанные действия с папкой. Дополнительный вопрос: как без использования третьестороннего ПО договориться с системными папками (program files, windows. D_&_S) для укрощения их гордыни - дабы они реагировали на озвученные действия аналогично обычным папкам системы. (последнее имею реализованным, осталось узнать, как конкретно :))

Petya V4sechkin
15-03-2011, 19:16
ShaddyR, разобрался.
Единственным условием "подхватывания" Desktop.ini являются атрибуты Read-only или System у папки (достаточно одного из них).

осталось узнать, как конкретно
Да как угодно (например, командой Attrib в батнике).




© OSzone.net 2001-2012