Что нового

[Файловая система; Реестр]Регистрация расширения в системе через реестр

MnM

Post-Hardcore
Сообщения
679
Репутация
90
Здравствуйте, просьба помочь с решением проблемы о регистрации файлового расширения на подобие(*.exe;*.html и т.д.), требуется зарегистрировать информацию о запуске, иконке, и еще чего ни будь(если будут доп. идеи). Мне бы просто пример какие ветки требуется задействовать\записать в них.
На счет ContMenuFiles от AZJIO, то я пробовал отследить какие ветки затрагивает, но следящая программа отказывалась следить за изменениями либо закрывала программа CMF и выдавала ошибку.
Тех. Хар-ки системы - Win8 x64

OffTopic:
Понимаю подобные темы по не скольку раз уже "заезжены" но я не смог найти ответа у поисковых систем(на сайтах стали распространять уже настройки в панелях управления за место реестров(корпорация Microsoft старается отвадить пользователей копаться там где им не следует :smile:))
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
MnM [?]
Там есть экспорт выбранного расширения. И есть справка по приоритетам.

Упрощённая схема
Код:
# fb2 

[HKEY_CLASSES_ROOT\.fb2]
@="fb2file"

[HKEY_CLASSES_ROOT\fb2file]
@="Книга"

[HKEY_CLASSES_ROOT\fb2file\shell\open\command]
@="\"C:\\Program Files\\BookSeer\\BookSeer.exe\" \"%1\""

[HKEY_CLASSES_ROOT\fb2file\DefaultIcon]
@="\"C:\\Program Files\\BookSeer\\BookSeer.exe\""


HKEY_CLASSES_ROOT это зеркало совместных данных HKEY_CURRENT_USER и HKEY_LOCAL_MACHINE. Если указывать конкретно их то можно зарегистрировать для всех пользователей или для текущего пользователя. При чём "для текущего" имеет приоритет. Если изменить "для всех", то текущие могут перекрыть эти настройки, поэтому используется HKEY_CLASSES_ROOT, которые запишет в текущие, если они перекрывают вариант "для всех".

Запись @="fb2file" указывает на HKEY_CLASSES_ROOT\fb2file, а в последней указывается всё остальное, имя отображаемое в конт. меню проводника, иконка, путь. Но есть ещё места которые могут перекрывать эти установки, но для нового расширения проблемы не будет, а для имеющихся придётся учесть.
 
Автор
MnM

MnM

Post-Hardcore
Сообщения
679
Репутация
90
AZJIO, Спасибо за разъяснение буду знать, тема решена
InnI, Вам тоже отдельное спасибо за помощь, но увы тематика предложенной вами статьи была из моего "оффтопика" где рассказывалось о (нежелательной)работе через панель управления. Мне бы хотелось "примерчика" как у AZJIO, о работе в скрипте непосредственно в реестре нежели чем с "нативными" приложениями в панели управления :smile:
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
MnM [?]
о работе в скрипте непосредственно в реестре
Статья как раз об этом и говорит, что, если расширение уже "занято", то никакая прямая работа с реестром на Win8 не поможет. Просто помните об этом, если у вас что-то не будет получаться...
 
Автор
MnM

MnM

Post-Hardcore
Сообщения
679
Репутация
90
InnI сказал(а):
Статья как раз об этом и говорит
Спасибо, сегодня почитаю повнимательней её=)
AZJIO сказал(а):
А что за программа
RegFromApp - я её "откопал" в TotalCommander по умолчанию в утилитах лежала=) на предыдущей ОС'и(winXP) вроде бы нормально функционировала, но на win8 начала "вытворять всякие выкрутасы" :smile:
InnI сказал(а):
если расширение уже "занято", то никакая прямая работа с реестром на Win8 не поможет
Еще 1 док-во в том что Microsoft пытается отвадить пользователей от "ручко-копания" в прежних настройках где они могут подпортить систему=)
 

AZJIO

Меценат
Меценат
Сообщения
2,874
Репутация
1,194
Я прочитал, понял из этого что они хотят на стороне системы сделать выбор с каким приложением ассоциировать. Сейчас у нас последнее установленное приложение всё монополизирует. Поставил приложение и оно всё изменило на себя, как будто считает свой продукт лучшим вариантом. А теперь видимо пользователь выбирает с каким из доступных ассоциировать. На счёт "только через панель" - ну где то же оно сохраняется, а значит изменяемо.
 
Верх