Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Windows 2000/XP (http://forum.oszone.net/forumdisplay.php?f=6)
-   -   как задать имя для папки? (http://forum.oszone.net/showthread.php?t=202046)

Eric-S 15-03-2011 12:03 1635304

как задать имя для папки?
 
Здравствуйте!

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

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

[DeleteOnCopy]
PersonalizedName=книги

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

Eric-S 15-03-2011 13:03 1635344

Вот нашел и попробовал ещё один вариант, тоже не сработал.
папке атрибут "только чтение"
"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 1635355

Eric-S, в XP параметр LocalizedResourceName может содержать только ссылку на ресурс библиотеки, например:
Код:

[.ShellClassInfo]
LocalizedResourceName=@Shell32.dll,-29992

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

Eric-S 15-03-2011 15:15 1635455

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

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

Petya V4sechkin 15-03-2011 16:41 1635524

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

Цитата:

Цитата Eric-S
Естественно я знаю номера строк, но обломался.

LocalizedResourceName содержит номер с минусом.

ShaddyR 15-03-2011 18:42 1635602

Petya V4sechkin, контекстный вопрос: создаем папку, присваиваем ей значок, редактируем desktop.ini на предмет хинтов и пр. Затем копируем ее на произвольное место ж.диска.
Результат:
  1. в большинстве случаев значок и хинт сохраняются
  2. иногда исчезают, визуально становится все по-умолчанию, хотя файл в папке присутствует. При этом достаточно в свойствах папки сменить значок и после применения хинт появляется
Усложняем задачу: папка копируется на место, где уже есть одноименная папка.
При этом:
  • если папка не имеет значка - ничего не меняется, помогает вариант 2 выше.
  • если значок имеется - папка принимает параметры, имеющиеся в desktop.ini копируемой папки.
Собсно, вопрос: от чего зависит реакция системы на описанные действия с папкой. Дополнительный вопрос: как без использования третьестороннего ПО договориться с системными папками (program files, windows. D_&_S) для укрощения их гордыни - дабы они реагировали на озвученные действия аналогично обычным папкам системы. (последнее имею реализованным, осталось узнать, как конкретно :))

Petya V4sechkin 15-03-2011 19:16 1635627

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

Цитата:

Цитата ShaddyR
осталось узнать, как конкретно

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


Время: 15:54.

Время: 15:54.
© OSzone.net 2001-