Як ви пов'язуєте розширення файлу .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.