Как вы связываете расширение.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}"