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

14

Se eu executar o utilitário de linha de comando assoc para uma extensão, ele mostrará o tipo / descrição do arquivo para a extensão que eu configurei no registro. Mas se eu for ao Painel de Controle - > Programas Padrão - Definir Associações , então eu vejo uma descrição diferente e um programa padrão.

Costumava ser a configuração das duas chaves:

  • HKCR\.ext (default) = Identificador
  • Identificador (default)="Descrição do Arquivo"
    • \ DefaultIcon (default) = Algum ícone
    • \ Shell \ Open \ Command (padrão) = Alguns editores

Mas agora parece que há uma substituição em outro lugar, que é o que é exibido na listagem de Programas padrão.

Minha pergunta é, onde eu esta informação de associação substituída armazenada? Estou assumindo que está no registro, mas não vejo nas chaves que espero que seja. Eu acredito que isso foi mudado no calendário do Vista, mas pode ter sido no XP também.

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 (marcando para torná-lo o padrão). Agora verifique o registro. Não foi alterado, mas agora o arquivo está associado a uma descrição, ícone e programa padrão diferentes.

    
por Jim McKeeth 14.06.2012 / 20:01

1 resposta

18

Deve estar em:

HKEY_LOCAL_MACHINE\SOFTWARE\Classes e HKCU\SOFTWARE\Classes

E eu não acredito que isso tenha mudado recentemente.

A prioridade é para o usuário atual e, em seguida, para a máquina local (alias eu acredito em classes raiz).

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

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

    
por 14.06.2012 / 20:06