Показать полную графическую версию : Регистрация расширений файлов (файловые ассоциации)
А есть ли утиль для регистрации расширений?
Например мне надо связать *.djvu с программой, которая располагается в C:\Program Files\DjVuReader\WinDjView.exe
Или mp3 с какой нить прогой?
А то ковыряния в реестре с вытаскиванием этих ключей уже достало.
В состав Windows входят утилиты при помощи которых можно:
Изменять связь между типом файла и исполняемой программойftype /?
Изменять связь между расширением и типом файла assoc /?
В состав Resource Kit также входит associate.exe, которая может выполнять сразу обе операции http://www.ss64.com/nt/associate.html
Утилиту можно загрузить с этой страницы (http://www.petri.co.il/download_free_reskit_tools.htm).
Vadikan, утилита associate.exe не делает того, что нужно. Вот я к примеру хочу чтобы файлы .wmv открывались Light Alloy. Соответственно пишу associate .WMV "c:\Program Files\LA\LA.exe". Пишет "Association ".WMV,c:\Program Files\LA\LA.exe" added". Дважды кликаю на .wmv файл - отркывается виндовым проигрывателем. Где ошибка ? А утилиты filetype, которая "входит в состав Windows" - у меня нет, есть утилита ftype.exe
P.S. WinXP Eng, SP2
Tue
Да, я это уже попробовал.
У меня открывается та прога, с которой ассоц. расширение. Но файл не добавляется в проигрыватель (ну или pdf открывал). Приложение запускается и всё. Ни чего не открывает.
Так что надо искать ещё что-то.
Tue
Есть такой момент с associate.exe. Я протестировал ее на текстoвом файле associate .vad "C:\Program Files\Scite\scite.exe" взял txt файл, сменил расширение на vad и открыл сразу в SciTe. Так что вообще-то она работает.
Конечно, ftype, это я по памяти писал.
Вообще, assoc нормально должна справляться с работой, учитывая, что приложение уже было установлено и зарегистрировало свои типы файлов.
Boa Soft
29-01-2006, 16:14
Вообще, assoc нормально должна справляться с работой, учитывая, что приложение уже было установлено и зарегистрировало свои типы файлов.
С медиафайлами посложнее. Там надо править дополнительные ключи, "обьясняя WMP", чтот это больше "не его" файл. Более подробно смогу посмотреть дома - у меня есть выжимка из темы на MSFN. Там же скрипт для ассоциации файлов. Тема не столь проста, как кажется.
Boa Soft
30-01-2006, 01:19
Коротко - с системно-поддерживаемыми файлами. (Ну, не знаю, как сказать иначе, вообщем, с теми файлами, которые изначально ассоциированы с системными примочками и которые она просто так не отдает) можно апоступить так:
Надо удалить параметр LegacyDisable
В ключе реестра:
HKCR\[FileType]\shell\[verb]
И так же параметр CLSID
В ключе реестра:
HKCR\[FileType]\shell\[verb]\ DropTarget
Где у нас
FileType - тип файла (не расширение!) например для *.AVI - AVIFile
Verb - действие, например open или play
Без этих действий у меня LA не хотел проигрывать нужные типы файлов (инсталлятор был перепакованный, свойский)
На счет остального - сейчас некогда собирать инфу. Если сейчас MSFN не в дауне, то можно посмотреть по этой ссылке:
http://www.msfn.org/board/index.php?act=ST&f=80&t=31407
Boa Soft
Эту ветку MSFN я видел, конечно. Там все-таки все через реестр делается, а хотелось бы утилитой. Ну если у MS нет утилит, способных справится со всеми типами файлов, то ничего кроме реестра не остается.
All
Я отредактировал ряд постов в теме, чтобы придать ей логический вид. Приношу извинения за всю катавасию с предыдущей правкой. Если бы EvgenT сразу создал отдельную тему, вместо вопроса в "Маленьких хитростях", а я немножко лучше разбирался в тонкостях ассоциаций, то мы бы сразу пришли к тому, что имеем сейчас ;)
Ааааа..а.а. это разве не маленькая хитрость????
Boa Soft
30-01-2006, 13:51
Эту ветку MSFN я видел, конечно. Там все-таки все через реестр делается, а хотелось бы утилитой. Ну если у MS нет утилит, способных справится со всеми типами файлов, то ничего кроме реестра не остается.
До того, как перейти на *.msi я паковал инсталлы в RAR SFX с добавлением самописной утилитки, которая могла по сценарию из ini файла создавать ярлычки, копировать файлы и задавать ассоциации. Все работало нормально, только вот она не умеет делать бэкап стандартных связей - после удаления программы стандартные установки не восстанавливались. Если кому интересно, то могу кусок кода из этого заброшенного проекта периписать в консольный вариант, с задаваемыми из коммандной строки параметрами. Там был параметр override для удаления всех старых ассоциаций.
Можно и проще - доделать один из скриптов на MSFN для нормальной работы со свободным заданием VERB и удалением того, что приводил немного выше.
Debugger
30-01-2006, 17:14
Boa Soft
А нельзя ли сделать софтину, которая бы перед запуском установки софтины автоматически запоминала все связи, а после отработки установки - восстанавливала, причем и со старыми ассоциациями. Пример - автоматическая установка Nero Vision и восстановление ассоциаций.
Ну что, новых идей за год не прибавилось?
Shpionus
06-09-2011, 18:05
Вопрос по поводу ассоциаций NERO VISION актуален!
[тестируем] Утилита для сохранения и восстановления ассоциаций файлов (http://forum.oszone.net/thread-94636.html)
Shpionus
11-09-2011, 22:28
Спасибо но это не то, запоминать ассоциации перед установкой а после неё их восстанавливать, это не выход. Тем боле что мы незнаем точно что там Неро в реестре меняет. Меня интересует как сделать чтобы именно в процессе установки НЕРО не трогал ассоциации.
Меня интересует как сделать чтобы именно в процессе установки НЕРО не трогал ассоциации. »
С штатным дистрибутивом Nero, "напрямую" - никак. Так уж разрабы порешили... Но можно в обход.
Не составляет труда отследить изменения в реестре после установки, касаемые ассоциаций. Если такое ассоциирование не нужно, то добавь в дистрибутив обычный рег(или cmd) файл, отменяющий эти ассоциации после установки.
ps Касательно утилит, работающих с ассоциациями файлов, в том числе и упомянутых здесь - все они крайне не удачны, часто "дремучи", а иногда даже и не работоспособны. Особенно в Win7.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.