Как сбросить ярлыки (файл .lnk) в Windows 7?

40

Каким-то образом я пошел, чтобы открыть ярлык, и Windows не смогла найти цель, но вместо того, чтобы навести ярлык на .exeнее, указатель .lnkобработчика файлов на .exe, так что теперь все мои .lnkфайлы пытаются открыть игру borderlands.

В чем дело?

Я предполагаю, что смогу сделать это путем сброса .lnkзаписи HKEY_CLASSES_ROOT, но я не знаю, на что это установить.

Джоэл Барсотти
источник
Ответ hunkid0ry ниже решил проблему немедленно - без перезагрузки, без выхода из системы / входа в систему - и это один шаг
просто Майк

Ответы:

27

Открыть regeditиз меню «Пуск» (Вы также можете вызвать файл с помощью команды «Выполнить»).
Перейдите в следующую ветку реестра:

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

Нажмите на стрелку, чтобы развернуть ее и удалить подключ с именем UserChoice. Выход из редактора реестра.

После этого сделайте перезагрузку.

солнце
источник
5
Вы даже можете перезапустить explorer.exe вместо перезагрузки.
Гийом Шевалье
1
Этот ответ верен, если это касается только предпочтений пользователя. В противном случае раздел реестра HKEY_CLASSES_ROOT \ .lnk необходимо будет перестроить, как указано в другом ответе.
Натан Хартли
Я перешел к «HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts \ .lnk», обратите внимание на \ в конце. Это то, что я вижу по ссылке на три скриншота . Должен ли я удалить все, что не называется "(по умолчанию)"?
user1603548
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]
Mukesh9871
источник
2
Это удивительно. Ты великолепен. Оно работало завораживающе. (После того как я вышел из системы и снова включился).
Робин Уинслоу
Получил сообщение «Указанный файл не является сценарием реестра. Вы можете импортировать только двоичные файлы реестра из редактора реестра». Я создал txt-файл в C: / Users / jl /, вставил код и переименовал файл в .reg
user1603548
1
Ты спас мой день!
Jsncrdnl
11

Расширение .lnkсвязано с Lnkfile, который более известен как ярлык.

Чтобы устранить несоответствие, откройте командную строку и введите:

assoc.lnk=lnkfile

Нажмите, Enterи вам должно быть хорошо идти.

hunkid0ry
источник
Ты звезда на тот день, 100% работали на меня
Хамфри
1
Это мгновенно сработало, чтобы исправить повреждения, оставленные вредоносными программами
ppostma1
Это отличный совет, я бы купил тебе пиво / кофе, если бы мог.
10
8

Восстановление системы до начала проблемы устранит ее и, вероятно, изменит любые другие ассоциации файлов.

Слава богу за восстановление системы. Я не знаю прямого решения, но я вернулся к работе.

Если вы не можете починить его скальпелем, попробуйте кувалду.

Джоэл Барсотти
источник
10
Если вы не можете починить его кувалдой, значит, вы не ударили по нему достаточно сильно!
Фоши
0

Согласно тому, что я нашел в нескольких местах (например, здесь или там ), вы можете исправить это с помощью операции реестра.

  • Создать новый текстовый файл
  • Вставьте следующее внутри

Редактор реестра 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).

Gnoupi
источник