Ok, vou tentar dizer isso da maneira mais fácil. Primeiro, no HKCR, crie uma chave para o seu programa. (Dica, apenas copie e renomeie um ..) Ele precisa ter no mínimo 3 partes.
CFG.File \ shell \ Open \ command (Padrão) "% 1"
Os 3 são:
ProgID No meu exemplo é CFG.File
Ação No meu exemplo, é um comando Shell para abrir
(e você adiciona "% 1" para incluir seu objeto)
Em seguida, você precisa criar, se não existir, essa chave no tipo de arquivo
OpenWithProgids
agora aqui vai uma dica: crie também uma chave off OpenWithProgids, chamada Shared
A chave Shared diz ao Windows para não permitir que nenhum ProgID ganhe controle ou se torne Padrão.
Agora, tudo que você precisa é adicionar seu ProgID que você fez no HKCR. Adicione seu nome a
OpenWithProgids
Você pode escolher: uma entrada binária ou a cadeia singular.
Você só precisa nomeá-lo e nenhum valor.
Eu não cobri todas as opções para a interface do usuário e Eye Candy, mas devo adicionar isso como um pensamento final: se o tipo de arquivo ou qualquer tecla tiver uma entrada EditFlags - renomeie ou suas modificações nunca serão exibidas. .
Ah, uma última dica: se você está tendo problemas para tentar alterar um ícone de tipo de arquivo, dê uma olhada na chave ShellEx e veja se ela tem uma chave DefaultIcon lá. Esses tipos de arquivos são protegidos pelo Windows. Se você modificar ou remover a entrada, o Windows irá redefini-la a cada reinicialização. (A menos que você obtenha a propriedade da chave inteira, em seguida, Negue TI e acesso ao Sistema para Alterar Proprietário ou Alterar Permissões.
Boa sorte senhor !!