[TC] Re: способы сопоставления типа файла с программой, из темы Foobar200 в конт
Здравствуйте, Юрий Петрович.
> Вы рассказали об одном, подавляющем, способе сопоставления типа файла с программой
> через диалог "Открыть с помощью".
> А какой второй, не подавляющий способ?
Второй не имеет пользовательского интерфейса и должен реализовываться разработчиками приложений в виде создания нескольких разделов системного реестра.
Судя по изначальному вопросу, в Foobar2000 реализована функциональность добавления программой собственных сопоставлений в системный реестр, просто через диалог "Открыть с помощью" это всё было подавлено. Если удалить указанный раздел, то всё должно заработать так, как планировал разработчик Foobar2000.
Для рядовых пользователей вручную повторять этот способ я бы не советовал, но для сильно интересующихся могу показать, как это работает.
Надо создать раздел для расширения как такового, из которого сослаться на раздел с командами для этого расширения.
Во втором разделе команд как раз можно прописать название типа файла и создать дополнительные пункты для контекстного меню.
Вот, например, условное сопоставление Блокнота с расширением .abc, где в контекстном меню ещё будет дополнительный пункт "Открыть в Wordpad":
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.ABC]
@="ABC.Files"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ABC.Files]
@="Файлы формата ABC"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ABC.Files\shell]
@="open,wordpad"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ABC.Files\shell\open]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ABC.Files\shell\open\command]
@="notepad.exe \"%1\""
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ABC.Files\shell\wordpad]
@="Открыть в Wordpad"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ABC.Files\shell\wordpad\command]
@="wordpad.exe \"%1\""
Причём, если всё создавать в HKEY_LOCAL_MACHINE, то это будет применено для всех пользователей, а уточнить конфигурацию для текущего пользователя можно в HKEY_CURRENT_USER.
Посмотреть актуальный микс HKEY_LOCAL_MACHINE и HKEY_CURRENT_USER для текущего пользователя можно в HKEY_CLASSES_ROOT, а именно в разделах:
HKEY_CLASSES_ROOT\.ABC
HKEY_CLASSES_ROOT\ABC.Files
Но ещё раз: если что-то из этого было не понятно, то лучше не пробовать повторять это вручную дома. Это то, что должны реализовывать разработчики приложений, ассоциирующихся с файлами и прописывающих дополнительные пункты в их контекстные меню.
Успехов. Никита.