16

Несколько лет назад я видел, как кто-то подшучивал над кем-то, связывая расширение .exe с Internet Explorer. Это заставляло Internet Explorer открываться каждый раз, когда человек хотел запустить программу.

К сожалению, я забыл, как это было сделано. Я пытался использовать инструмент « Программы по Default Programs > Set Associations панели управления», но в нем не было .exe .

Как можно установить эту файловую ассоциацию и, что еще важнее, как ее можно сбросить?

2 ответа2

20

Выполняя подобные "шалости", недостаточно просто следовать пошаговым инструкциям или пакетным сценариям; Лучше знать что-то о том, как хранятся фактические данные - потом их будет легче восстановить.

Все ассоциации файлов хранятся в реестре, который можно редактировать с помощью regedit или reg. Оболочка ищет их в HKEY_CLASSES_ROOT , который представляет собой объединенное представление HKEY_LOCAL_MACHINE\Software\Classes (для всей системы) и HKEY_CURRENT_USER\Software\Classes (для локальных пользователей).

  • [ HKEY_CLASS_ROOT ]
    • [ .txt ]
      • (по умолчанию) = " txtfile " - указатель на другой ключ в HKCR
    • [ txtfile ]
      • (по умолчанию) = " Text Document " - текстовое описание, отображаемое в Проводнике.
      • [ shell ] - действия для двойного щелчка и контекстного меню
        • (по умолчанию) = (не установлено) - действие, которое нужно использовать при двойном щелчке; по умолчанию " open "
        • [ open ]
          • (по умолчанию) = (не установлено) - метка, отображаемая в контекстном меню; по умолчанию " Open "
          • [ command ]
            • (по умолчанию) = " %SystemRoot%\system32\NOTEPAD.EXE %1 "

Для большинства расширений HKCR\.extn\(Default) указывает на ключ типа файла под тем же HKCR; например, .exe указывает на HKCR\exefile .

(Однако в редких случаях вся информация находится непосредственно под ключом расширения, а HKCR\.extn\(Default) содержит описание. Они, кажется, очень редки - может быть, остатки Windows 9x или 3.x ...)

Сделайте резервные копии. reg save HKLM\Software\Classes hklm-classes.hiv Также помните, что командная строка не заботится о расширениях; если вы попытаетесь запустить исполняемую программу, она всегда будет работать независимо от того, как она называется или с чем связано ее расширение.

2

Попробуй это:

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}"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .