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, и это не сработало, независимо от того, где я его поместил.

4 ответа4

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. Ассоциации типов файлов - удивительные вещи!

0

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

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

0

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

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

0

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

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

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .