Як ви пов'язуєте розширення файлу .exe з програмою в Windows?


16

Кілька років тому я бачив, як хтось грає на когось, пов’язавши .exeрозширення файлу з Internet Explorer. Це змусило Internet Explorer відкриватися кожного разу, коли людина хотіла запустити програму.

На жаль, я забув, як це робилося. Я спробував скористатись Default Programs > Set Associationsінструментом «Панель управління», але він не перераховувався .exe.

Як можна встановити цю асоціацію файлів, і, що ще важливіше, як її можна зняти?


це на пошуковому пошуковому пошуку Google
RobotHumans

Відповіді:


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; наприклад, вказує на .HKCR\.extn\(Default).exeHKCR\exefile

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

Зробіть резервні копії. reg save HKLM\Software\Classes hklm-classes.hivТакож пам’ятайте, що командний рядок не піклується про розширення; якщо ви спробуєте запустити виконувану програму, вона завжди працюватиме незалежно від того, як вона названа, або з чим пов’язана її розширення.


1
Очевидно експортуйте реєстр, перш ніж робити подібні зміни! :)
HaydnWVN

@HaydnWVN: reg saveдбає про це (а також включає метадані, які reg exportможна пропустити).
користувач1686

Ах вибачте, я відповів перед публікацією редагування створення резервних копій ! ;)
ГайднWVN

1
Не забувайте, що перегляд сировинного реєстру дещо важкий спосіб робити тут. У пакетному інтерпретаторі команд Microsoft є FTYPEі ASSOCкоманди, а список типів файлів також доступний через діалогові вікна безпосередньо в Провіднику Windows .
JdeBP

@JdeBP: AFAIK, Windows Vista позбулася редактора в Провіднику - тепер він просто вибирає дію за замовчуванням. (Я ще не копав глибше; все ще використовую XP тут.) Також графічний приклад regeditдає хороший огляд.
користувач1686

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}"
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.