Решение НЕ использует FileTypesMan
, а редактирует сам реестр. После долгих проб и ошибок я обнаружил настройки реестра, которые позволяют мне назначать пользовательские значки для типов файлов.
Препараты
1. Разрешения реестра
Откройте реестр Windos и дайте себе достаточно "прав" для папок HKEY_CLASSES_ROOT
и HKEY_CURRENT_USER
. Я сам не уверен, каковы минимальные настройки для всей процедуры, чтобы преуспеть. Вы должны немного поиграть с настройками. В любое время, когда вы получите сообщение об ошибке в предстоящей процедуре, вернитесь к этому шагу и увеличьте разрешения реестра.
2. Сделайте несколько пользовательских иконок
Сделайте несколько пользовательских значков, например, в папке C:\ICONS\
. Я использую следующий веб-сайт https://iconverticons.com/online/ для конвертации 256x256 png-файлов в ico-файлы.
3. Установить Блокнот ++
Просто получите Блокнот ++. Здесь нет ничего особенного.
4. Откройте терминал с правами администратора
Введите cmd
в строке поиска Windows. Щелкните правой кнопкой мыши на появившемся CMD-значке и выберите "Запуск от имени администратора" во всплывающем окне.
Взлом реестра
Отказ от ответственности: изменение реестра может привести к повреждению вашей установки Windows. Я записал процедуру ниже с наилучшими намерениями, но я отрицаю любую ответственность в случае, если что-то пойдет не так.
Примечание: я не рекомендую использовать эту процедуру для файлов .bat
. Это очень важный тип файлов для Windows. Так что я не знаю, что произойдет, если вы удалите его стандартные ключи реестра.
Ниже описано, как назначить пользовательский значок, который вы создали в C:\ICONS\abcfile.ico
для всех файлов *.abc
.
1. Взлом реестра, часть первая
Первый ключ реестра, который вы должны добавить, - это HKEY_CLASSES_ROOT\.abc
. Если этот ключ уже существует, вы можете удалить его. Используйте следующую команду для удаления ключа и всех его подразделов:
> REG DELETE HKEY_CLASSES_ROOT\.abc /f
На следующем рисунке показано, как мы будем (пере) создавать этот раздел реестра и все его подразделы:
Вы можете сделать это вручную или запустить следующие команды:
> REG ADD HKEY_CLASSES_ROOT\.abc /ve /t REG_SZ /d "abc_auto_file"
> REG ADD HKEY_CLASSES_ROOT\.abc /v BrowserFlags /t REG_DWORD /d 0x00000000
> REG ADD HKEY_CLASSES_ROOT\.abc /v EditFlags /t REG_DWORD /d 0x00000000
> REG ADD HKEY_CLASSES_ROOT\.abc /v PerceivedType /t REG_SZ /d "text"
> REG ADD HKEY_CLASSES_ROOT\.abc\DefaultIcon /ve /t REG_SZ /d "C:\ICONS\abcfile.ico,0"
2. Взлом реестра, часть вторая
Второй ключ реестра, который вы должны добавить, это HKEY_CLASSES_ROOT\abc_auto_file
. Если этот ключ уже существует, вы можете удалить его. Используйте следующую команду для удаления ключа и всех его подразделов:
> REG DELETE HKEY_CLASSES_ROOT\abc_auto_file /f
На следующем рисунке показано, как мы будем (пере) создавать этот раздел реестра и все его подразделы:
Вы можете сделать это вручную или запустить следующие команды:
> REG ADD HKEY_CLASSES_ROOT\abc_auto_file /ve /t REG_SZ
> REG ADD HKEY_CLASSES_ROOT\abc_auto_file\DefaultIcon /ve /t REG_SZ /d "C:\ICONS\abcfile.ico"
> REG ADD HKEY_CLASSES_ROOT\abc_auto_file\shell /ve /t REG_SZ
> REG ADD HKEY_CLASSES_ROOT\abc_auto_file\shell\edit /ve /t REG_SZ
> REG ADD HKEY_CLASSES_ROOT\abc_auto_file\shell\edit\command /ve /t REG_EXPAND_SZ /d "\"C:\Program Files (x86)\Notepad++\notepad++.exe\" \"^%1\""
> REG ADD HKEY_CLASSES_ROOT\abc_auto_file\shell\open /ve /t REG_SZ
> REG ADD HKEY_CLASSES_ROOT\abc_auto_file\shell\open\command /ve /t REG_EXPAND_SZ /d "\"C:\Program Files (x86)\Notepad++\notepad++.exe\" \"^%1\""
3. Взлом реестра, часть третья
Второй ключ реестра, который вы должны добавить, - это HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.abc
. Если этот ключ уже существует, вы можете удалить его. Используйте следующую команду для удаления ключа и всех его подразделов:
> REG DELETE HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.abc /f
На следующем рисунке показано, как мы будем (пере) создавать этот раздел реестра и все его подразделы:
Вы можете сделать это вручную или запустить следующие команды:
> REG ADD HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.abc /ve /t REG_SZ
> REG ADD HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.abc\OpenWithList /ve /t REG_SZ
> REG ADD HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.abc\OpenWithProgids /ve /t REG_SZ
> REG ADD HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.abc\OpenWithProgids /v "C:\Program Files (x86)\Notepad++\notepad++.exe" /t REG_NONE /d 0
> REG ADD HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.abc\OpenWithProgids /v abc_auto_file /t REG_NONE /d 0
Обновить иконку кеша
Следующая команда должна обновить кэш значков Windows:
> %windir%\system32\ie4uinit.exe -show
Назначьте Notepad++ типу файла
Я заметил, что - иногда - изменения вступают в силу только после назначения Notepad++ в качестве программы по умолчанию для открытия типа файла.
Вот как это сделать:
- Создайте файл с указанным типом файла, например:
myFile.abc
- Щелкните правой кнопкой мыши файл и выберите "открыть с помощью" >> "другое приложение"
- Вы должны получить всплывающее окно, как:
- Выберите Notepad++ в качестве программы по умолчанию
Конец
Обычно значок изменился сейчас! И все файлы этого конкретного типа файла будут иметь пользовательский значок. Они будут открываться по умолчанию в Notepad++.
Возможно, вам следует снова обновить кэш иконок:
> %windir%\system32\ie4uinit.exe -show
или перезапустите систему, чтобы она вступила в силу (хотя перезапуск мне не понадобился).