Что нового

[Реестр] Регистрирование расширений

Taran2ul

Новичок
Сообщения
1
Репутация
0
Версия AutoIt: 3.3.6.1

Описание:
Подскажите решение регистрирования расширения файла для программы чтобы в реестр вносились данные о пути установки этой программы (а точнее распаковки). Т.е. есть самораспаковывающийся архив с программой, и нужно чтобы файлы некоторого расширения открывались в ней.
Вот reg который я сделал:


Код:
REGEDIT4 
 
[HKEY_CLASSES_ROOT\.cdw] 
@="CDW-File" 
 
[HKEY_CLASSES_ROOT\CDW-File] 
@="Ascon Kompas-3D Чертеж" 
 
[HKEY_CLASSES_ROOT\CDW-File\shell] 
 
[HKEY_CLASSES_ROOT\CDW-File\shell\Open] 
 
[HKEY_CLASSES_ROOT\CDW-File\shell\Open\command] 
@="e:\\Portable\\KOMPAS-3D V11\\Bin\\KOMPAS.Exe \"%1\"" 
 
[HKEY_CLASSES_ROOT\CDW-File\DefaultIcon] 
@="e:\\Portable\\KOMPAS-3D V11\\Bin\\KOMPAS.Exe,1"

Но тут встает вопрос - А если путь не тот?
Можно как нибудь использовать относительный путь. Подумал что можно при запуске AutoIt скрипта из каталога куда распаковалась программа можно добиться нужного результата, только не знаю как реализовать.
Примечания:
Еще такой вопрос: кодировка кириллическая после добавления в реестр будет нормально отображаться, или нет?
 

Guezt

Продвинутый
Сообщения
335
Репутация
82
Taran2ul [?]
Еще такой вопрос: кодировка кириллическая после добавления в реестр будет нормально отображаться, или нет?
Ну если Windows поддерживает русский язык, то по идее да.
А путь каталога можно записать так в реестр если запускать скрипт с директории где сам kompas.exe
Код:
$path = @ScriptDir
RegWrite('HKEY_CLASSES_ROOT\.cdw',"","REG_SZ",'CDW-File')
RegWrite('HKEY_CLASSES_ROOT\CDW-File',"","REG_SZ",'Ascon Kompas-3D Чертеж')
RegWrite('HKEY_CLASSES_ROOT\CDW-File\shell\Open\command',"","REG_SZ",$path&'\KOMPAS.Exe "%1"')
RegWrite('HKEY_CLASSES_ROOT\CDW-File\DefaultIcon')
RegWrite('HKEY_CLASSES_ROOT\CDW-File\DefaultIcon',"","REG_SZ",$path&'\KOMPAS.Exe,1')
 
Верх