Vejo que você está escrevendo HKEY_CLASSES_ROOT
com esse arquivo reg na pergunta. Esta seção é uma visão mesclada de HKEY_LOCAL_MACHINE\Software\Classes
e HKEY_CURRENT_USER\Software\Classes
.
O motivo pelo qual seu arquivo funciona apenas para arquivos não associados anteriormente é que ele grava para HKEY_CLASSES_ROOT
redirecionar para a chave apropriada HKEY_LOCAL_MACHINE
(a seção para padrões do sistema e configurações para todos os usuários). No entanto, você terá um problema porque as configurações de associação de arquivos HKEY_CURRENT_USER
(que contêm configurações por usuário) substituem os padrões do sistema.
Além disso, se a extensão for controlada por uma associação "programas padrão", suas informações de associação de arquivos serão armazenadas HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\<.ext>
. Você pode verificar se o seu ramal tem essa associação, verificando a existência dessa chave.
Você pode editar seu .reg para funcionar com qualquer arquivo, incluindo arquivos associados anteriormente, duplicando-o para essas chaves em ambos HKEY_LOCAL_MACHINE
e HKEY_CURRENT_USER
. Da mesma forma, você pode remover a associação excluindo as chaves apropriadas nas duas seções (incluindo o FileExts
local).
Um arquivo .reg de trabalho para excluir uma associação para uma extensão específica se parece com isso (que exclui .blerg
associações):
Windows Registry Editor Version 5.00
; Created with Default Programs Editor
; http://defaultprogramseditor.com/
; Delete Extension
[-HKEY_LOCAL_MACHINE\Software\Classes\.blerg]
[-HKEY_CURRENT_USER\Software\Classes\.blerg]
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.blerg]
No entanto , se você preferir não precisar se informar sobre os internos do registro e os vários aspectos misteriosos da associação de arquivos do Windows, recomendo que você use o Editor de Programas Padrão para fazer essas alterações - você pode até exportar uma ação para um arquivo .reg, que parece atender perfeitamente às suas necessidades.
No seu caso, é tão simples como clicar File Type Settings
, então Delete an extension
. Selecione a extensão e, em vez de salvar no registro, pressione a seta pequena no Delete Extension
botão e clique em Save to .reg file...
. Isso produzirá um arquivo .reg completo e comentado dessa ação que você pode salvar ou distribuir para outras máquinas.
Essa questão parece ter muitas suposições questionáveis.
Primeiro, por que você deseja usar um arquivo .reg para remover a associação de arquivo? Por que não fazer isso apenas na interface do usuário? Você está fazendo isso em várias estações de trabalho?
Segundo, não vejo por que o arquivo .reg ao qual você vinculou funcionaria apenas com extensões de arquivo não associadas anteriormente.
De qualquer forma, para excluir uma chave usando um arquivo .reg, prefixe um hífen ao nome da chave. Para remover um valor, defina-o como hífen. Tudo soletrado aqui .
Para remover uma associação de arquivo, você precisa excluir a chave da extensão do arquivo, por exemplo
Isso por si só impediria que o arquivo fosse aberto, mas, para completar, você também deve remover a chave do nome do tipo, que era o valor padrão na chave de extensão do arquivo. Exemplo:
fonte