Хорошо, я постараюсь сказать это простым способом .. Сначала в HKCR создайте ключ для вашей программы. (Подсказка, просто скопируйте и переименуйте один ..) Требуется минимум 3 части.
CFG.File\shell\Open\command (по умолчанию) "% 1"
3: ProgID В моем примере это CFG.File Action В моем примере это команда Shell для открытия (и вы добавляете «% 1» для включения вашего объекта)
Далее вам нужно создать, если он не существует, этот ключ для типа файла OpenWithProgids, теперь вот подсказка: также создайте ключ из OpenWithProgids, называемый Shared
Ключ Shared сообщает Windows, что ни один ProgID не может получить контроль или стать по умолчанию.
Теперь все, что вам нужно, это добавить свой ProgID, который вы сделали в HKCR. Добавить его имя в OpenWithProgids. Вы можете выбрать: либо двоичную запись, либо странную строку.
Вам нужно только назвать его, а не значение.
Я не охватил все опции для пользовательского интерфейса и Eye Candy, но я должен добавить это в качестве заключительной мысли: если тип файла или какой-либо ключ имеет запись EditFlags - переименуйте ее, или ваши модификации никогда не будут отображаться ...
О, последний совет: если у вас возникают проблемы при попытке изменить значок типа файла, посмотрите под ключом ShellEx и посмотрите, есть ли у него ключ DefaultIcon. Эти типы файлов защищены Windows. Если вы измените или удалите запись, Windows 'будет сбрасывать ее при каждой перезагрузке. (Если вы не захватите право владения всем ключом, то запретите TI и доступ системы к владельцу изменений или разрешениям на изменение.
Удачи, сэр!