Значок ShellNew для «.» Тип файла

8

Я успешно создал команду ShellNew, так что я могу создать новый пустой файл без расширения файла. Reg файл выглядит так:

Windows Registry Editor Version 5.00

[-HKEY_CLASSES_ROOT\.]

[HKEY_CLASSES_ROOT\.]
@="emptyFile"

[HKEY_CLASSES_ROOT\.\ShellNew]
"NullFile"=""
@="Empty File"
"ItemName"=""

[HKEY_CLASSES_ROOT\.\ShellNew\Config]
"NoExtension"=""

[-HKEY_CLASSES_ROOT\emptyFile]

[HKEY_CLASSES_ROOT\emptyFile]
@="Empty File"

[HKEY_CLASSES_ROOT\emptyFile\DefaultIcon]
@="%SystemRoot%\\system32\\imageres.dll,2"

Это работает фантастически и все. Он создает файл именно так, как я хочу, но значок, отображаемый в окне ShellNew, является значком для системного раздела следующим образом:

1

Как я могу изменить этот значок, чтобы он соответствовал DefaultIcon, который я предоставляю для самого типа файла? Я попытался создать строковое значение «Icon», как то, что я должен был сделать для пунктов меню Unity и Sublime Text, и это не сработало, независимо от того, где я его поместил.

GodsBane
источник
Я могу повторить. Попытка выяснить, есть ли способ это исправить ...
Каран
Я полагаю, что вы еще не нашли решение? Я думаю, что в реестре должно быть что-то, утверждающее, что, поскольку у него нет ассоциированного типа файла, предполагается, что это диск?
GodsBane
Похоже, и если бы я понял это, я бы отправил ответ, конечно.
Каран
Я не могу воспроизвести это.
Visual Vincent

Ответы:

3

Попробуйте это, работает как по волшебству.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.]
@="emptyFile"

[HKEY_CLASSES_ROOT\.\ShellNew]
"NullFile"=""
@="Empty File"
"ItemName"=""
"IconPath"="C:\\windows\\system32\\imageres.dll,2"

[HKEY_CLASSES_ROOT\.\ShellNew\Config]
"NoExtension"=""

[-HKEY_CLASSES_ROOT\emptyFile]

[HKEY_CLASSES_ROOT\emptyFile]
@="Empty File"

[HKEY_CLASSES_ROOT\emptyFile\DefaultIcon]
@="%SystemRoot%\\system32\\imageres.dll,2"

Только изменить. Я добавил IconPath на уровне .ext. Ассоциации типов файлов - удивительные вещи!

w32sh
источник
Другое дело, что для DefaultIcon ProgID вы установили расширяемую строку, которая действительно должна была иметь тип REG_EXPAND_SZ вместо REG_SZ. В любом случае, ShellNew, похоже, не использует значок, определенный там.
w32sh
Да, это делает это. Отлично сработано!
Бен
Ух, ~ 9 месяцев, и такое простое исправление. Хорошая работа!
GodsBane
Он сказал, что награда должна была закрыться "через 2 часа". Вот когда я ответил :)
w32sh
0

Arent вы должны использовать "imageres.dll, 3", потому что его третий значок в imageres.dll?

Вы можете попробовать приложение «Редактор программ по умолчанию», открыть программу, щелкнуть значки, найти тип файла, щелкнуть далее, выбрать значок из изображения и сохранить как файл .REG, а затем проверить, что находится внутри этого .reg.

orion310591
источник
Вы не можете использовать редактор программ по умолчанию для этого, потому что файл, который он делает, не имеет расширения.
GodsBane
@ orion310591: индекс начинается с 0. Значит, технически это второй значок.
w32sh
0

Если вам удастся найти тип «Пустой файл» в инструменте FileTypesMan, вы сможете изменить значок по умолчанию там.

FileTypesMan: http://www.nirsoft.net/utils/file_types_manager.html

Стиан Лунд
источник
У меня сложилось впечатление, что эти инструменты просто делают то, что делал OP вручную, но я попробую, когда у меня будет время.
Бен N
@BenN Я думаю, вы правы - я предполагал, что OP просто хотел «исправить» это, но я думаю, что они хотят найти решение regedit.
Stian Lund
Где-то окна должны перекрывать значок, потому что FileTypesMan видит правильный значок, отображает его там, и все же ShellNew по-прежнему отображает значок диска ОС. Это все еще имеет место в Windows 10, хотя я сомневался, что это изменилось бы.
GodsBane
0

По какой-то причине, он использует тот же значок по умолчанию, что и ваш Cдиск.

Вы можете убедиться в этом сами, создав следующий ключ, если он еще не существует:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons\C\DefaultIcon

И установив (по умолчанию):

%SystemRoot%\\system32\\imageres.dll,2

введите описание изображения здесь

введите описание изображения здесь

Боюсь, я не могу точно ответить, почему это происходит. Там на самом деле другой поток здесь , что удается изменить значок с помощью другого ключа реестра , хотя.

Jonno
источник