Se eu executar o assoc
utilitário de linha de comando para uma extensão, ele mostrará o tipo / descrição do arquivo para a extensão definida no registro. Mas se eu for ao Painel de Controle -> Programas Padrão - Associações de Conjunto , vejo uma descrição e um programa padrão diferentes.
Costumava definir as duas chaves:
HKCR\.ext
(padrão) = Identificador- Identificador (padrão) = "Descrição do arquivo"
- \ DefaultIcon (padrão) = Algum ícone
- \ Shell \ Open \ Command (padrão) = Algum editor
Mas agora parece que há uma substituição em outro lugar, que é exibido na lista de Programas Padrão.
Minha pergunta é: onde essas informações de associação substituídas são armazenadas? Suponho que esteja no registro, mas não o vejo nas chaves que espero que estejam. Acredito que isso foi alterado no período do Vista, mas também pode ter sido no XP.
Atualização: Como há alguma confusão, faça o seguinte teste. Renomeie um arquivo para alguma nova extensão. Crie uma associação nas chaves do registro mencionadas acima. Em seguida, clique com o botão direito do mouse no arquivo, Abrir com e selecione um programa diferente (marque para torná-lo o padrão). Agora verifique o registro. Ele permanece inalterado, mas agora o arquivo está associado a uma descrição, ícone e programa padrão diferentes.
HKEY_CLASSES_ROOT
mapeia também. Aqueles armazenam o que oassoc
comando retorna. Mas as informações de substituição retornadas pelos Programas Padrão no Painel de Controle são diferentes.