спасибо автору,взята отсюда
http://www.oszone.net/12760/assoc/ У многих пользователей персональных компьютеров часто возникают вопросы, связанные с ассоциацией файлов с какой-либо специфической программой. Вопросы такого характера могут возникнуть, например, в тех случаях, когда на компьютере установлено несколько приложений, предназначенных для открытия определенного типа файла. Например, если на вашем компьютере установлено несколько программ, предназначенных для просмотра изображений, таких как «Фотоальбом
Windows Live», «Irfan View», «ACDSee» и т.д., при открытии изображений разных типов файлов у вас могут запускаться разные программы. Для того чтобы избежать подобных ситуаций вам и нужно периодически настраивать такие ассоциации. В этой статье речь пойдет о выполнении этих действий, где особое внимание будет посвящено изменению ассоциаций файлов при помощи системного реестра.
Обычно, для изменения ассоциация файлов используют утилиты операционной системы Windows. Самой распространенной программой, предназначенной для выполнения таких операций, является утилита «Выбор программ по умолчанию» при помощи которой, вы можете указать программу, используемую по умолчанию. Для того чтобы задать программу по умолчанию, выполните следующие действия:
Увеличить рисунок Рис. 1.
Поиск установленного программного обеспечения
Увеличить рисунок Рис. 2. Окно приложения «Выбор программ по умолчанию»
Увеличить рисунок Рис. 3. Выбор сопоставления программ
- Нажмите на кнопку «Пуск» для открытия меню, откройте «Панель управления», из списка компонентов панели управления выберите категорию «Программы», а затем откройте подкатегорию «Программы по умолчанию». В окне «Программы по умолчанию»перейдите по ссылке «Задание программ по умолчанию» (также этот компонент вы можете открыть, введя команду%windir%\system32\control.exe /name Microsoft.DefaultPrograms /page pageDefaultProgram в поле «Открыть» диалогового окна«Выполнить»);
- Во время первого открытия программы, операционная система проанализирует все установленное программное обеспечение для того, чтобы вы смогли выбрать программу, которую будете использовать по умолчанию.
- После того как установленное программное обеспечение будет обнаружено откроется окно «Выбор программ по умолчанию», при помощи которого вы непосредственно можете указать ассоциацию одновременно для нескольких типов файлов, за которые отвечает выбранное вами программное обеспечение. В этом окне, в списке «Программы» выберите программу, для которой нужно установить ассоциацию файлов. После выбора программы, в центральной части окна вы увидите краткое описание назначения приложения. Под полем с описанием отображена строка, в которой указано, какое количество типов файлов может быть ассоциировано с данной программой. Как видно на следующей иллюстрации, веб-обозреватель Opera может быть установлен по умолчанию одновременно для двадцати семи типов файлов.
- Вы можете выбрать типы файлов, которые будут ассоциированы с данной программой. Для этого перейдите по ссылке «Выбрать умолчания для этой программы». После того как вы перейдете по данной ссылке, будет открыто окно «Сопоставление программ», при помощи которого вы можете установить флажки возле соответствующих типов файлов. На следующей иллюстрации видно, что для веб-обозревателя Opera были установлены сопоставления только для четырех протоколов из девяти возможных. Для того чтобы внести изменения, нажмите на кнопку «Сохранить»;
Иногда программа, которую вы хотите ассоциировать с определенным типом файла может не отображаться в указанном выше компоненте операционной системы. Для того чтобы ассоциировать определенную программу с конкретным типом файла, вы можете воспользоваться функцией«Выбор программы». Для того чтобы открыть диалоговое окно этой функции, найдите на своем компьютере тип файла, для которого нужно указать программу по умолчанию и нажмите на нем правой кнопкой мыши. В отобразившемся
контекстном меню выберите команду «Открыть с помощью», а затем «Выбрать программу».
В диалоговом окне «Выбор программы», в группе «Рекомендуемые программы» обычно отображаются все приложения, которые будут корректно работать с выбранным вами типом файла и которые операционная система может предложить для установки по умолчанию. Если нужное вам приложение не было найдено в списке, вы можете развернуть группу «Другие программы» для отображения дополнительного списка установленных программ на вашем компьютере. Если требуемая вами программа не была найдена и среди дополнительного списка, то вы можете нажать на кнопку «Обзор» и указать путь к исполняемому файлу программы в диалоговом окне «Открыть с помощью…». После того будет выбрана нужная вам программа, нажмите на кнопку «ОК». Диалоговое окно «Выбор программы» отображено на следующей иллюстрации:
Увеличить рисунок Рис. 4. Диалоговое окно «Выбор программы»
В некоторых случаях, таких как создание дисков автоматической установки операционной системы или если у вас постоянно изменяется программа, которая ассоциирована с определенным типом файла, вы можете воспользоваться системным реестром. При помощи системного реестра, помимо указания ассоциации программы вы можете изменить значки для типов файлов и пр. В данном случае, попробуем создать ассоциацию и указать картинку для музыкальных файлов с расширением .MP3от программы AIMP и связать эти файлы с программой Windows Media Player. Для этого выполните следующие действия:
- Откройте редактор системного реестра (команда regedit в поле «Открыть» диалогового окна «Выполнить»);
- Найдите программный идентификатор (раздел в HKEY_CLASSES_ROOT, позволяющий связать тип файла с приложением и управлять поведением ассоциации), который используется для создания ассоциаций. Для этого перейдите в раздел HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.mp3\OpenWithProgids, где названием параметра и будет являться данный идентификатор. Для файлов с расширением .MP3, программный идентификатор вы также можете найти в разделе HKEY_CLASSES_ROOT\WMP11.AssocFile.MP3;
- Перейдите в найденный ранее раздел реестра. В этом разделе перечислены все параметры, которые отвечают за данный тип файла. Например, для того чтобы указать значок для файлов с типом .MP3, вам нужно открыть раздел DefaultIcon и в параметре по умолчанию указать полный путь к файлу, который содержит соответствующий значок. В случае с программой AIMP и 64-разрядной операционной системой, значением этого параметра будет выступать строка C:\\Program Files (x86)\\AIMP2\\AIMP2.exe,0 (два обратных слэша нужно указывать только в REG-файлах. Если вы вносите изменения, непосредственно при помощи программы regedit, укажите по одному слэшу.);
- Для того чтобы привязать данный тип файла к стандартной программе Windows Media Player, вам нужно внести изменения в разделshell\open\command. В данном примере, значением параметра по умолчанию для 64-разрядной ОС будет: "%ProgramFiles(x86)%\\Windows Media Player\\wmplayer.exe\" /prefetch:6 /Open \"%L\"
В конечном счете, у вас получится приблизительно следующий твик реестра:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.mp3]
"PerceivedType"="audio"
@="WMP11.AssocFile.MP3"
"Content Type"="audio/mpeg"
[HKEY_CLASSES_ROOT\WMP11.AssocFile.MP3]
@="MP3 Format Sound"
"EditFlags"=hex:00,00,11,00
"FriendlyTypeName"=hex:40,25,53,79,73,74,65,6D,52,6F,6F,74,25,5C,73,79,73,74,65,6D,33,32,5C,75,6E,72,65,67,6D,70,32,2E,65,78,65,2C,2D,39,39,32,35,00
"PreferExecuteOnMismatch"=dword:0000001
[HKEY_CLASSES_ROOT\.mp3\OpenWithList]
[HKEY_CLASSES_ROOT\.mp3\OpenWithProgIds]
"WMP11.AssocFile.MP3"=hex:
"WindowsLive.MovieMaker.asset"=hex:
[HKEY_CLASSES_ROOT\.mp3\PersistentHandler]
@="{098f2470-bae0-11cd-b579-08002b30bfeb}"
[HKEY_CLASSES_ROOT\.mp3\ShellEx]
[HKEY_CLASSES_ROOT\.mp3\WMP11.AssocFile.MP3]
[HKEY_CLASSES_ROOT\.mp3\OpenWithList\ehshell.exe]
[HKEY_CLASSES_ROOT\.mp3\ShellEx\{BB2E617C-0920-11D1-9A0B-00C04FC2D6C1}]
@="{9DBD2C50-62AD-11D0-B806-00C04FD706EC}"
[HKEY_CLASSES_ROOT\.mp3\ShellEx\{e357fccd-a995-4576-b01f-234630154e96}]
@="{9DBD2C50-62AD-11D0-B806-00C04FD706EC}"
[HKEY_CLASSES_ROOT\.mp3\WMP11.AssocFile.MP3\ShellNew-]
"NullFile"=""
[HKEY_CLASSES_ROOT\WMP11.AssocFile.MP3\CLSID]
[HKEY_CLASSES_ROOT\WMP11.AssocFile.MP3\DefaultIcon]
@="C:\\Program Files (x86)\\AIMP2\\AIMP2.exe,0"
[HKEY_CLASSES_ROOT\WMP11.AssocFile.MP3\shell]
@="Play"
[HKEY_CLASSES_ROOT\WMP11.AssocFile.MP3\shellex]
[HKEY_CLASSES_ROOT\WMP11.AssocFile.MP3\shell\Enqueue]
@="&Add to Windows Media Player list"
"MUIVerb"=hex:40,25,53,79,73,74,65,6D,52,6F,6F,74,25,5C,73,79,73,74,65,6D,33,32,5C,75,6E,72,65,67,6D,70,32,2E,65,78,65,2C,2D,39,38,30,30,00
[HKEY_CLASSES_ROOT\WMP11.AssocFile.MP3\shell\open]
"LegacyDisable"=""
[HKEY_CLASSES_ROOT\WMP11.AssocFile.MP3\shell\play]
@="&Play"
"MUIVerb"=hex:40,25,53,79,73,74,65,6D,52,6F,6F,74,25,5C,73,79,73,74,65,6D,33,32,5C,75,6E,72,65,67,6D,70,32,2E,65,78,65,2C,2D,39,39,39,31,00
[HKEY_CLASSES_ROOT\WMP11.AssocFile.MP3\shell\Enqueue\command]
"DelegateExecute"="{45597c98-80f6-4549-84ff-752cf55e2d29}"
[HKEY_CLASSES_ROOT\WMP11.AssocFile.MP3\shell\open\command]
@="\"%ProgramFiles(x86)%\\Windows Media Player\\wmplayer.exe\" /prefetch:6 /Open \"%L\""
[HKEY_CLASSES_ROOT\WMP11.AssocFile.MP3\shell\play\command]
@="\"%ProgramFiles(x86)%\\Windows Media Player\\wmplayer.exe\" /prefetch:6 /Play \"%L\""
"DelegateExecute"="{ed1d0fdf-4414-470a-a56d-cfb68623fc58}"
[HKEY_CLASSES_ROOT\WMP11.AssocFile.MP3\shellex\{8895b1c6-b41f-4c1c-a562-0d564250836f}]
@="{031EE060-67BC-460d-8847-E4A7C5E45A27}"
Для каждого типа файла в реестре могут существовать специфические разделы и параметры, которые добавляют уникальный функционал (например, раздел ShellNew позволяет вам добавлять новые команды в контекстное меню файла). Почти каждый случай является «уникальным» и разбираться с ними лучше всего «опытным путем», изменяя отдельные параметры. Минимальным набором разделов и параметров являются указанные параметры. Поэтому простейшим твиком для установки специализированной программы для типа файла .gsf будет следующее:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.gsf]
@="GrandSmeta.Document"
[HKEY_CLASSES_ROOT\GrandSmeta.Document]
@="Файл документа ГРАНД Смета"
[HKEY_CLASSES_ROOT\GrandSmeta.Document\CLSID]
[HKEY_CLASSES_ROOT\GrandSmeta.Document\DefaultIcon]
@="\"C:\\Program Files (x86)\\Grand\\GrandSmeta 5.0\\Client\\Gsmeta.exe\",1"
[HKEY_CLASSES_ROOT\GrandSmeta.Document\Shell]
[HKEY_CLASSES_ROOT\GrandSmeta.Document\Shell\Open]
@="&Открыть"
[HKEY_CLASSES_ROOT\GrandSmeta.Document\Shell\Open\Command]
@="\"C:\\Program Files (x86)\\Grand\\GrandSmeta 5.0\\Client\\Gsmeta.exe\" ,%1"
Лучше всего проводить все эксперименты с изменением ассоциаций файлов и прочих настроек в виртуальной среде, причем до внесения изменений, желательно, экспортировать изменяемый раздел реестра. В случае неудачного изменения вам будет проще откатиться на первоначальную точку