Eu pareço ter encontrado:
HKEY_CLASSES_ROOT\Applications\Notepad2.exe\shell\open\command
Edite essa chave para o novo caminho.
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.
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