Наверх

Восстановление файловых ассоциаций в Windows 7

Автор kbaott, 26.09.2017 | Просмотров: 4 932 |

Сегодня звонил друг. Рассказывал о страшных птицах — туканах. Когда дух злого тукана вселяется в юзера, юзер начинает творить всякие гадости, к примеру — хаотично менять ассоциации файлов в операционной системе.Так в случае моего друга — клиент назначил на ярлыки, то бишь .lnk-файлы ассоциацию с «Блокнотом»(notepad.exe) и в итоге работать в такой ОС невозможно. Естественно поменять простым методом ассоциацию программы и расширения не вышло — вопрос бы не возник. Вот я и решил нацарапать несколько методов восстановления файловых ассоциаций, возможно кому-то будет полезно.

1. Первый и самый жестокий способ — это Восстановление системы. Нюанс в том, что у многих это самое восстановление отключено — если в Вашем случае это так, то сразу переходим ко второму методу, если восстановление системы работает — то читаем дальше. Из «Пуска» Восстановление запустить мы не сможем — это ведь тоже ярлык и он также откроется блокнотом. Поэтому делаем следующее: открываем свойства ярлыка «Восстановление системы», из поля «Объект» копируем путь, он должен быть примерно таким:
%SystemRoot%\system32\restore\rstrui.exe

Запускаем командную строку — в «Пуске» в строке быстрого поиска прописать cmd. Щелкаем по заголовку окна, выбираем Изменить — Вставить, в текущую позицию курсора вставиться путь к файлу восстановления. Запуститься стандартная процедура. Дальше, думаю объяснять не нужно.

2. Запускаем редактор реестра: в строке быстрого поиска вводим regedit. Переходим по следующему пути в реестре:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.xxx

где .ххх — собственно искомое расширение. В нашем случае .lnk — удаляем подраздел UserChoice.

3. Также можно создать reg-файл для восстановления файловых ассоциаций, который можно носить на флешке и пользоваться им при необходимости, благо места он займет 3 — 5 Кб. Напомню, что reg-файл это обычный текстовый файл, расширение которого изменено с .txt на .reg.

3.1. Reg-файл восстановления .lnk-файлов:

Windows Registry Editor Version 5.00

[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"=""

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

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

[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\Compatibility]
@="{1d27f844-3a1f-4410-85ac-14651078412d}"

[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_CLASSES_ROOT\lnkfile\shellex\PropertySheetHandlers]

[HKEY_CLASSES_ROOT\lnkfile\shellex\PropertySheetHandlers\ShimLayer Property Page]
@="{513D916F-2A8E-4F51-AEAB-0CBC76FB1AF8}"

[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.lnk\UserChoice]

3.2. Reg-файл восстановления .exe-файлов:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.exe]
@="exefile"
"Content Type"="application/x-msdownload"

[HKEY_CLASSES_ROOT\.exe\PersistentHandler]
@="{098f2470-bae0-11cd-b579-08002b30bfeb}"

[HKEY_CLASSES_ROOT\exefile]
@="Application"
"EditFlags"=hex:38,07,00,00
"FriendlyTypeName"=hex(2):40,00,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,53,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,30,00,31,00,35,00,36,00,00,00

[HKEY_CLASSES_ROOT\exefile\DefaultIcon]
@="%1"

[HKEY_CLASSES_ROOT\exefile\shell]

[HKEY_CLASSES_ROOT\exefile\shell\open]
"EditFlags"=hex:00,00,00,00

[HKEY_CLASSES_ROOT\exefile\shell\open\command]
@="\"%1\" %*"
"IsolatedCommand"="\"%1\" %*"

[HKEY_CLASSES_ROOT\exefile\shell\runas]
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\exefile\shell\runas\command]
@="\"%1\" %*"
"IsolatedCommand"="\"%1\" %*"

[HKEY_CLASSES_ROOT\exefile\shell\runasuser]
@="@shell32.dll,-50944"
"Extended"=""
"SuppressionPolicyEx"="{F211AA05-D4DF-4370-A2A0-9F19C09756A7}"

[HKEY_CLASSES_ROOT\exefile\shell\runasuser\command]
"DelegateExecute"="{ea72d00e-4960-42fa-ba92-7792a7944c1d}"

[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.exe\UserChoice]

Теперь несколько файлов для скачивания, тут и вышеприведенные готовые REG-файлы, и файл для Windows XP и целая куча REG-файлов для восстановления каких угодно файловых ассоциаций:

Вы спросите, а как это все скачать и распаковать на компьютере, на котором EXE ассоциированы с черт знает чем? А вот никак. Все это нужно проделать на другом компьютере, благо  компьютеров нынче на квадратный метр достаточно. Копируем готовый REG-файл на флешку и просто запускаем его на «больном» ПК. Перезагружаем и после перезагрузки все ОК.

Вместо эпилога:

Через 80 лет наши потомки случайно найдут где-то в архивах давно забытый Windows, расшифруют первобытный программный код и впадут в панику. Согласно календарю вымершей операционной системы, в 2099 году наступит конец света.

Метки: , , , ,
Писано 26.09.2017

Понравилась статья? Тогда получайте обновления на e-mail: