Onde as associações do Programa Padrão são armazenadas no registro? [duplicado]

16

Se eu executar o assocutilitá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.

Jim McKeeth
fonte

Respostas:

20

Deve estar em:

HKEY_LOCAL_MACHINE\SOFTWARE\Classes e HKCU\SOFTWARE\Classes

E não acredito que isso tenha mudado recentemente.

A prioridade é para o usuário atual e depois para a máquina local (alias, acredito que seja para as classes root).

O Explorer usa um conjunto diferente de chaves do Registro que podem ser encontradas em:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\

soandos
fonte
Eu acredito que é isso que HKEY_CLASSES_ROOTmapeia também. Aqueles armazenam o que o assoccomando retorna. Mas as informações de substituição retornadas pelos Programas Padrão no Painel de Controle são diferentes.
21712 Jim McKeeth
Vi sua edição sobre o fato de ser aliasado às classes raiz. Mas você está perdendo o ponto de que em algum outro lugar há associações substituídas que são exibidas na lista Programas Padrão no Painel de Controle.
21712 Jim McKeeth
e não é as configurações em HKCU?
Soandos
Não, veja a atualização que adicionei. Você pode testar você mesmo.
21712 Jim McKeeth
1
Você é muito bem-vindo. Desculpe pela confusão anterior.
Soandos