Как вы связываете расширение.exe с программой в Windows?

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

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

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

2 ответа

Решение

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

Все ассоциации файлов хранятся в реестре, который можно редактировать с помощью 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 Также помните, что командная строка не заботится о расширениях; Если вы попытаетесь запустить исполняемую программу, она всегда будет работать независимо от того, как она называется или с чем связано ее расширение.

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

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}"
Другие вопросы по тегам