1

Можно изменить ассоциации файлов с помощью командной строки

assoc .c=Cfile
ftype Cfile="C:\emacs\bin\emacsclient" -n "%1"

Есть ли способ изменить значок файла таким же образом. Или это лучший способ сделать это путем редактирования реестра.

Я хочу сделать сценарий или программу на C, чтобы сделать это, поэтому мне не нужна программа сопоставления значков.

2 ответа2

1

Вы можете сделать это очень легко с помощью правильных инструментов в консоли Windows или написать BAT-программу, которая сделает это за вас.

Во-первых, вам нужно найти значение ассоциации.

ECHO WHAT ASSOC FILE ICON ARE WE EDITING? 
SET /P VAR=  

Далее необходимо указать путь к файлу иконки

ECHO WHERE IS THE ICON LOCATED? 
SET /P VAR2=

Наконец, вы можете написать скрипт для редактирования.

Это будет выглядеть так:

echo Windows Registry Editor Version 5.00 >>tmp.reg
echo [HKEY_CLASSES_ROOT\%var%\DefaultIcon\] >>tmp.reg
echo "(Default)"="%var2%" >>tmp.reg

чем вы можете запустить файл с

start tmp.reg
0

Вы можете использовать консоль Reg.exe для записи в реестр. Например,

reg add hkcr\Cfile\DefaultIcon /ve /d "e:\icons\myicon.dll,0"

Это устанавливает значение DefaultIcon для Cfile в e:\icons\myicon.dll,0

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