Como eu mudo o programa padrão (aka associação de arquivos) quando o programa foi movido?

2

No Windows 7, se já associei um programa, digamos Notepad2.exe , com um tipo de arquivo, digamos .txt , em seguida, mover o caminho para Notepad2.exe (por exemplo, mover a pasta) interrompe a associação. O problema que tenho é que eu não vejo uma maneira de consertar a associação.

Os métodos normais de escolha da associação de tipo de arquivo, através do clique com o botão direito > propriedades ou através do painel de controle, não funcionam. Quando você acessar a janela "Escolha o programa que deseja usar para abrir este arquivo", tente procurar o .exe desejado, mas depois de apontá-lo para o novo caminho, o programa Notepad2.exe não estará mais lá quando você retornar à janela "Escolha o programa que você deseja usar para abrir este arquivo:".

Se você renomear Notepad2.exe para outra coisa, como Notepad2a.exe , poderá associá-lo normalmente. Então aparentemente o problema é que o Windows assume o nome do .exe identifica o programa. Como obviamente se lembra do caminho antigo para Notepad2.exe , é possível interpretar esse comportamento como reclamando silenciosamente que ele não deseja lembrar de dois Notepad2.exe s com caminhos diferentes.

Usando o registro, tentei excluir as associações restantes para Notepad2.exe (por exemplo, usando esta resposta link ). Eu também ajustei a entrada do registro para a lista MRU para remover a menção a ela. Mas isso não foi suficiente para fazer com que as janelas "esquecessem" disso. Como esse é um aplicativo portátil, não há um desinstalador para ajudar a tornar o Windows esquecido.

Existe uma maneira de corrigir essa bagunça? Alterar o nome de Notepad2.exe ou criar uma segunda cópia / atalho com um nome diferente não é uma solução aceitável para mim. Eu quero que funcione como normalmente deveria.

Editar:
Percorrer o registro dá algumas pistas. As chaves de registro em OpenWithList contêm chaves com valores como Notepad2.exe --- apenas o nome e não o caminho. No registro em UserChoice , há uma chave Progid com valor Applications\Notepad2.exe . Isso não parece um caminho, e não tenho certeza de como o Windows decide qual caminho corresponde.

    
por Ein 16.06.2013 / 01:51

2 respostas

2

Eu pareço ter encontrado:

HKEY_CLASSES_ROOT\Applications\Notepad2.exe\shell\open\command

Edite essa chave para o novo caminho.

    
por 16.06.2013 / 02:20
0

Eu consertaria isso usando o Registro.

Começamos localizando o tipo de arquivo em questão

HKEY_CLASSES_ROOT\.txt

Olhando para esta chave, você verá que ela está vinculada a outra chave

HKEY_CLASSES_ROOT\txtfile

Siga um pouco mais e você verá a chave que controla qual programa é aberto

HKEY_CLASSES_ROOT\txtfile\shell\open\command

Exemplo

    
por 16.06.2013 / 01:57