如何在Windows 7中重置快捷方式(.lnk文件)?


40

我不知何故打开了快捷方式,但Windows找不到目标,但没有将快捷方式指向,而是.exe.lnk文件处理程序指向.exe,因此现在我所有的.lnk文件都在尝试由Borderlands游戏打开。

这是怎么回事?

我想我可以通过重置中的.lnk条目来做到这一点HKEY_CLASSES_ROOT,但是我不知道将其设置为什么。


hunkid0ry在下面的回答立即解决了该问题-无需重新启动,无需注销/登录
只需

Answers:


27

regedit从“开始”菜单打开(您也可以使用“运行”命令调用文件)。
导航到以下注册表分支:

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

单击箭头将其展开,然后删除名为的子项UserChoice。从注册表编辑器退出。

之后,请重新启动。


5
您甚至可以重新启动explorer.exe,而不必重新启动。
Guillaume Chevalier 2014年

1
如果仅是用户的首选项受到影响,则此答案是正确的。否则,将需要重新构建HKEY_CLASSES_ROOT \ .lnk注册表项,如另一个答案中所述。
内森·哈特利

我导航到“ HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts \ .lnk”,请注意最后的\。这是我看到的三个屏幕快照的链接。我应该删除未命名为“(默认)”的帽子吗?
user1603548 2014年

2
Microsoft KB上存在类似的问题,其解决方案不起作用!这个答案比他们的要好!=)
thiagolr

或者只是注销然后再登录。不需要重新启动。
mrTomahawk

25

请按照以下步骤将下面的注册表代码保存到.reg文件中,然后将其导入到注册表中:

  1. 打开记事本
  2. 将下面的注册表代码复制并粘贴到“记事本”窗口中
  3. 使用fixshortcuts.reg名称将文件保存到桌面。
  4. 在您的桌面上打开fixshortcuts.reg并将文件合并到注册表中
  5. 注销然后重新登录以使更改生效

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]

2
这是惊人的。你真厉害 它像魅力一样运作。(在我注销并再次登录后)。
罗宾·温斯洛

收到消息“指定的文件不是注册表脚本。只能从注册表编辑器中导入二进制注册表文件。” 我在C:/ Users / jl /中创建了一个txt文件,并粘贴了代码并将文件重命名为.reg
user1603548 2014年

1
你救了我的一天!
Jsncrdnl

11

扩展名.lnk与Lnkfile相关联,后者通常称为快捷方式。

要修复误关联,请打开命令提示符并键入:

assoc.lnk=lnkfile

按此键Enter,您应该一切顺利。


您今天的明星100%为我工作
汉弗莱

1
它可以立即修复恶意软件留下的损害
ppostma1 2014年

这是一个很好的提示,如果可以的话,我会给您买啤酒/咖啡。
Tensigh

8

在问题开始之前还原到的系统将解决此问题,并且可能还有其他文件关联更改。

感谢上帝提供系统还原点。我不知道直接解决办法,但我已经备份并可以运行。

如果无法用手术刀修复,请尝试使用大锤。


10
如果您无法用大锤修好它,那您就没有足够的力气!
Phoshi

0

根据我在几个地方(例如here那里)的发现,可以使用注册表操作来解决此问题。

  • 创建一个新的文本文件
  • 将以下内容粘贴到里面

Windows注册表编辑器版本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”

  • 将文件另存为“ Something.reg”
  • 双击文件

我不能保证它会解决您的问题(因为我自己没有问题),但是在我当前的计算机上进行了测试之后,我至少可以告诉您这是无害的(并阅读修改过的密钥,它似乎确实恢复了.lnk扩展名的行为)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.