Como redefinir atalhos (arquivo .lnk) no Windows 7?

40

De alguma forma, fui abrir um atalho e o Windows não conseguiu encontrar o alvo, mas em vez de apontar o atalho para o .exeapontador do .lnkarquivo .exe, então agora todos os meus .lnkarquivos estão tentando ser abertos pelo jogo borderlands.

O que está acontecendo?

Acho que posso fazê-lo redefinindo a .lnkentrada HKEY_CLASSES_ROOT, mas não sei o que configurá-la.

Joel Barsotti
fonte
A resposta de hunkid0ry abaixo corrigiu o problema imediatamente - sem reinicialização, sem logout / login - e é um passo
apenas mike

Respostas:

27

Abrir regeditno menu Iniciar (você também pode chamar o arquivo usando o comando Executar).
Navegue para o seguinte ramo do registro:

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

Clique na seta para expandi-la e excluir a subchave denominada UserChoice. Saia do Editor do Registro.

Depois disso, faça uma reinicialização.

Dom
fonte
5
Você pode até reiniciar o explorer.exe em vez de reiniciar.
Guillaume Chevalier
1
Esta resposta está correta se apenas a preferência do usuário foi afetada. Caso contrário, a chave do Registro HKEY_CLASSES_ROOT \ .lnk precisará ser reconstruída, conforme mencionado em outra resposta.
22415 Nathan Hartley
Naveguei para "HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts \ .lnk", observe o \ no final. É o que vejo no link para três capturas de tela . Devo excluir allt hat não são nomeados "(Padrão)"?
user1603548
2
Há uma pergunta semelhante no Microsoft KB e sua solução não funciona! Esta resposta é melhor que a deles! =)
thiagolr
Ou faça logoff e, em seguida, faça login novamente. Nenhuma reinicialização é necessária para isso.
MrTomahawk #
25

Siga estas etapas para salvar o código do Registro abaixo em um .regarquivo e importá-lo para o Registro:

  1. Abra o bloco de notas
  2. Copie e cole o código do Registro abaixo na janela Bloco de Notas
  3. Salve o arquivo na área de trabalho com o nome fixshortcuts.reg
  4. Na área de trabalho, abra fixshortcuts.reg e mescle o arquivo no Registro
  5. Faça logoff e logon novamente para que as alterações entrem em vigor

Windows Registry Editor Version 5.00

;LNK file association fix for Windows Vista.
;Updated on April 24, 2007

[HKEY_CLASSES_ROOT\.lnk]
@="lnkfile"

[HKEY_CLASSES_ROOT\.lnk\ShellEx]

[HKEY_CLASSES_ROOT\.lnk\ShellEx\{000214EE-0000-0000-C000-000000000046}]
@="{00021401-0000-0000-C000-000000000046}"

[HKEY_CLASSES_ROOT\.lnk\ShellEx\{000214F9-0000-0000-C000-000000000046}]
@="{00021401-0000-0000-C000-000000000046}"

[HKEY_CLASSES_ROOT\.lnk\ShellEx\{00021500-0000-0000-C000-000000000046}]
@="{00021401-0000-0000-C000-000000000046}"

[HKEY_CLASSES_ROOT\.lnk\ShellEx\{BB2E617C-0920-11d1-9A0B-00C04FC2D6C1}]
@="{00021401-0000-0000-C000-000000000046}"

[HKEY_CLASSES_ROOT\.lnk\ShellNew]
"Handler"="{ceefea1b-3e29-4ef1-b34c-fec79c4f70af}"
"IconPath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\
  74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,\
  00,68,00,65,00,6c,00,6c,00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,\
  31,00,36,00,37,00,36,00,39,00,00,00
"ItemName"="@shell32.dll,-30397"
"MenuText"="@shell32.dll,-30318"
"NullFile"=""
"Command"=-

[HKEY_CLASSES_ROOT\.lnk\ShellNew\Config]
"DontRename"=""

[HKEY_CLASSES_ROOT\lnkfile]
@="Shortcut"
"EditFlags"=dword:00000001
"FriendlyTypeName"="@shell32.dll,-4153"
"NeverShowExt"=""
"IsShortcut"=""

[HKEY_CLASSES_ROOT\lnkfile\CLSID]
@="{00021401-0000-0000-C000-000000000046}"

[HKEY_CLASSES_ROOT\lnkfile\shellex]

[HKEY_CLASSES_ROOT\lnkfile\shellex\ContextMenuHandlers]

[HKEY_CLASSES_ROOT\lnkfile\shellex\ContextMenuHandlers\OpenContainingFolderMenu]
@="{37ea3a21-7493-4208-a011-7f9ea79ce9f5}"

[HKEY_CLASSES_ROOT\lnkfile\shellex\ContextMenuHandlers\{00021401-0000-0000-C000-000000000046}]
@=""

[HKEY_CLASSES_ROOT\lnkfile\shellex\DropHandler]
@="{00021401-0000-0000-C000-000000000046}"

[HKEY_CLASSES_ROOT\lnkfile\shellex\IconHandler]
@="{00021401-0000-0000-C000-000000000046}"

[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.lnk\UserChoice]
Mukesh9871
fonte
2
Isso é incrível. Você é incrível. Funcionou como um encanto. (Depois que eu me conectei e saí novamente).
Robin Winslow
Recebeu a mensagem "O arquivo especificado não é um script de registro. Você pode importar apenas arquivos de registro binários de dentro do editor de registro." I createt um arquivo txt em C: / Users / jl / e colou o código e renomeado o arquivo de reg
user1603548
1
Você salvou meu dia!
precisa saber é o seguinte
11

A extensão .lnkestá associada ao Lnkfile, mais conhecido como Atalho.

Para reparar a associação incorreta, abra um prompt de comando e digite:

assoc.lnk=lnkfile

Pressione Entere você deve estar pronto.

hunkid0ry
fonte
Você a estrela para o dia 100% funcionou para mim
Humphrey
1
Isso funcionou instantaneamente para reparar danos deixados para trás por malware
ppostma1
Esta é uma ótima dica, eu compraria uma cerveja / café, se pudesse.
Tensigh
8

Uma restauração do sistema antes do início do problema o corrigirá e provavelmente qualquer outra associação de arquivo será alterada.

Graças a Deus pelos pontos de restauração do sistema. Não conheço uma solução direta, mas estou de volta ao funcionamento.

Se você não pode consertá-lo com um bisturi, tente uma marreta.

Joel Barsotti
fonte
10
Se você não pode consertá-lo com uma marreta, não está acertando o suficiente!
Phoshi
0

De acordo com o que encontrei em vários lugares (como aqui ou ali ), você pode corrigir isso com uma operação de registro.

  • Crie um novo arquivo de texto
  • Cole o seguinte dentro

Editor do Registro do Windows versão 5.00

[-HKEY_CLASSES_ROOT.lnk]

[HKEY_CLASSES_ROOT.lnk] @ = "lnkfile"

[HKEY_CLASSES_ROOT.lnk \ ShellEx]

[HKEY_CLASSES_ROOT.lnk \ ShellEx {000214EE-0000-0000-C000-000000000046}] @ = "{00021401-0000-0000-C000-000000000046}"

[HKEY_CLASSES_ROOT.lnk \ ShellEx {000214F9-0000-0000-C000-000000000046}] @ = "{00021401-0000-0000-C000-000000000046}"

[HKEY_CLASSES_ROOT.lnk \ ShellEx {00021500-0000-0000-C000-000000000046}] @ = "{00021401-0000-0000-C000-000000000046}"

[HKEY_CLASSES_ROOT.lnk \ ShellEx {BB2E617C-0920-11d1-9A0B-00C04FC2D6C1}] @ = "{00021401-0000-0000-C000-000000000046}"

[HKEY_CLASSES_ROOT.lnk \ ShellNew] "Command" = "rundll32.exe appwiz.cpl, NewLinkHere% 1"

  • Salve o arquivo como "Something.reg"
  • Clique duas vezes no arquivo

Não posso garantir que o problema seja resolvido (já que eu não o tenho), mas tendo testado isso no meu computador atual, posso dizer pelo menos que isso é inofensivo (e lendo as chaves modificadas, parece realmente restaurar o comportamento das extensões .lnk).

Gnoupi
fonte