Ассоциация файлов

monowar

Постоянный участник
Сообщения
347
Реакции
482
Столкнулся с такой проблемой, не могу заставить систему открывать файлы .html в browser portable . Штатными средствами ( открыть с помощью,программы по умолчанию) не получается ( хотя на другой ОС Win 8.1 ставилось). Как-то надо прописать в реестре - боюсь напартачить. Прочитал в инете совет - удалить папку .html в реестре ,а затем перетащить файл на программу и прога сама автоматом создаст ассоциацию ,но у меня не получилось. Что подскажете?
 
@Кирилл, просмотрел ,прочитал ,но ... не идёт. Взял твой пример - а слияния полного не получилось ,дописал вручную ... и ... ничего. кидает на программы по умолчанию ( если я правильно понял ,то эти программы зарегистрированы в системе) ,хоть тресни ,а " моя фигня" сразу пошла ( открывала порташку) :Smile:. Может прав не хватает ?
 
Последнее редактирование:
@Кирилл, пытаюсь покатать твой пример . Открыл ..... FileExts\.SafeZone
sshot-3.jpg

Но ,что-то не идёт ( самому интересно почему ?) . Может добавить раздел OpenWithProgIds с patch своей программы ?
 
Последнее редактирование:
Но ,что-то не идёт ( самому интересно почему ?)
Да, добавь и проверь сопоставлена ли ассоциация.
По твику, конечно, проще было бы.Или скрины остальные.
У тебя должна быть задана ассоциация+progid+OpenWithProgIds
+ до этого дошел?
Сделай полный твик того, что у тебя есть.
Помогу переписать.
 
Последнее редактирование:
Вот тебе твик - поменяй на свои значения и все будет хорошо

Код:
Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.AAnewFile]
@="AAnewFile_auto_file"

[HKEY_CLASSES_ROOT\AAnewFile_auto_file]

[HKEY_CLASSES_ROOT\AAnewFile_auto_file\shell]

[HKEY_CLASSES_ROOT\AAnewFile_auto_file\shell\open]

[HKEY_CLASSES_ROOT\AAnewFile_auto_file\shell\open\command]
@="\"C:\\Program Files\\Notepad++\\notepad++.exe\" \"%1\""

[HKEY_CURRENT_USER\Software\Classes\.AAnewFile]
@="AAnewFile_auto_file"

[HKEY_CURRENT_USER\Software\Classes\AAnewFile_auto_file]

[HKEY_CURRENT_USER\Software\Classes\AAnewFile_auto_file\shell]

[HKEY_CURRENT_USER\Software\Classes\AAnewFile_auto_file\shell\open]

[HKEY_CURRENT_USER\Software\Classes\AAnewFile_auto_file\shell\open\command]
@="\"C:\\Program Files\\Notepad++\\notepad++.exe\" \"%1\""

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.AAnewFile]

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.AAnewFile\OpenWithList]
"MRUList"="a"
"a"="notepad++.exe"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.AAnewFile\OpenWithProgids]
"AAnewFile"=hex(0):
"AAnewFile_auto_file"=hex(0):

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.AAnewFile\OpenWithList]
"MRUList"="a"
"a"="notepad++.exe"

Здесь не забудь что буква это своеобразный маркер, перечень приложений и их порядок
 
А если его нет - то создать, хотя я в этом твике c этим расширением поставил другую прогу и путь к проге другой - всё сработало
 
должен быть раздел ?
Не обязательно, но он потом сам все равно создастся)
Вот вопрос такой - везде в пути к exe ставяться по два слеша - для чего ? Пишут в инете разное
Точно не помню. честно говоря... но, к примеру, при экспорте в твик система сама добавляет слэш.
Ты впишешь два - в твик может уйти три.Так что по этому поводу не заморачивайся.
 
Тогда такой вопрос,создаём раздел AAnewFile_auto_file - для чего , а может создать раздел AAnewFile и создать подразделы ? По твику поставить значения
 
@Кирилл, продолжая тему ,скачал default_HTML.reg начал изучать ,чтобы открывать html - документы ,в твике есть раздел [HKEY_CLASSES_ROOT\SystemFileAssociations\.html] ,а у меня его вообще нет - надо создать я думаю и "AppUserModelID"="Microsoft.InternetExplorer.Default" по умолчанию поставить Firefox portable ( путь прописывать надо - правильно?)
 
Тогда такой вопрос,создаём раздел AAnewFile_auto_file - для чего , а может создать раздел AAnewFile и создать подразделы ?
Ну, по сути, ты рассматриваешь одно и то же.
Можешь просто подставить свои значения - суть не меняется.
надо создать я думаю и "AppUserModelID"="Microsoft.InternetExplorer.Default" по умолчанию поставить Firefox portable ( путь прописывать надо - правильно?)
Если хочешь использовать только названия программ - то нужно указать должным образом в Application\

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

@monowar, для 8.1 эти статьи малость устарели. Там несколько уровней защит, при чём даже Microsoft напортачила с ними в некоторых билдах. Если повезет, тебе проще обойтись штатным средством:

см.
1) Восстановление ассоциации
 
@Dragokas, За ссылку !!!:Hi: Ещё такой вопрос , во всех ( приведённых здесь .reg файлах на восстановление ассоциаций ) не показана ветка [HKEY_LOCAL_MACHINE\SOFTWARE\Classes] или здесь всё создаётся автоматом ,если в другие разделы внесены данные ?
 
Там же написано каким образом генерируется хэш ID... если на каком то месте споткнулся или запутался - говори.
Я имел ввиду этот пост... ну получается да, не совсем то и подробно, я почему то помнил иначе.
Когда мы указываем путь и имя программы в Applications то можно использовать в OpenWidthList просто как указано в Applications, без полного пути.
А в OpenWithProgids указываем Progid который нужен либо который создали сами.
Параметр Hach в UserChoice система генерирует сама, когда выполняются соответствующие настройки, затем он хранится в неизменном виде до того, как пользователь снова не переопределит настройки ассоциации и хэш изменится снова.
В системах старше 8 действительно введены множество новшеств, но (насколько я знаю) все старое - работает.
По крайней мере не наблюдал проблем, все дополнительные функции система реализует, если вы забудете...давно не копался в этом вопросе, как оказалось.
 
В системах старше 8 действительно введены множество новшеств, но (насколько я знаю) все старое - работает.
Работает, если снести к чертям всю ветку с хешем.

Ещё такой вопрос , во всех ( приведённых здесь .reg файлах на восстановление ассоциаций ) не показана ветка [HKEY_LOCAL_MACHINE\SOFTWARE\Classes] или здесь всё создаётся автоматом ,если в другие разделы внесены данные ?
Потому что, что HKCR - отражение двух веток Classes из HKLM и HKCU.
 
Назад
Сверху Снизу