Come si associa l'estensione di file .exe a un programma in Windows?


16

Qualche anno fa ho visto qualcuno fare uno scherzo a qualcuno associando l' .exeestensione del file a Internet Explorer. Ciò ha reso Internet Explorer aperto ogni volta che la persona voleva avviare un programma.

Sfortunatamente, ho dimenticato come è stato fatto. Ho provato a utilizzare lo Default Programs > Set Associationsstrumento Pannello di controllo, ma non è elencato .exe.

Come si può impostare questa associazione di file e, forse ancora più importante, come si può disinserirla?


è su una ricerca google di virus batch
RobotHumans

Risposte:


20

Quando si fanno "scherzi" del genere, non è sufficiente seguire un tutorial passo-passo o uno script batch; è meglio sapere qualcosa su come sono archiviati i dati effettivi: diventa più facile ripristinarli in seguito.

Tutte le associazioni di file vengono mantenute nel registro, che può essere modificato utilizzando regedit o reg . La shell li cerca in HKEY_CLASSES_ROOT, che è una vista unita HKEY_LOCAL_MACHINE\Software\Classes(a livello di sistema) e HKEY_CURRENT_USER\Software\Classes(utente locale).

  • [ HKEY_CLASS_ROOT]
    • [ .txt]
      • (impostazione predefinita) = " txtfile" - puntatore a un'altra chiave in HKCR
    • [ txtfile]
      • (impostazione predefinita) = " Text Document" - descrizione testuale come visualizzata in Explorer
      • [ shell] - le azioni da utilizzare per il doppio clic e il menu contestuale
        • (impostazione predefinita) = (non impostato) : l'azione da utilizzare con un doppio clic; il valore predefinito è " open"
        • [ open]
          • (impostazione predefinita) = (non impostato) - etichetta visualizzata nel menu di scelta rapida; il valore predefinito è " Open"
          • [ command]
            • (impostazione predefinita) = " %SystemRoot%\system32\NOTEPAD.EXE %1"

Per la maggior parte delle estensioni, il valore punta a una chiave del tipo di file sotto lo stesso HKCR; ad esempio, punta a .HKCR\.extn\(Default).exeHKCR\exefile

(In rari casi, tuttavia, tutte le informazioni sono direttamente sotto la chiave dell'estensione, con il contenuto della descrizione. Queste sembrano essere molto rare, forse - forse un residuo di Windows 9x o 3.x ...)HKCR\.extn\(Default)

Effettua backup. reg save HKLM\Software\Classes hklm-classes.hivInoltre, ricorda che al prompt dei comandi non interessano le estensioni; se si tenta di eseguire un programma eseguibile, verrà sempre eseguito indipendentemente dal nome o dalla sua estensione.


1
Ovviamente esportare il registro prima di apportare modifiche come questa! :)
HaydnWVN,

@HaydnWVN: se reg savene occupa (e include anche i metadati, che reg exportpotrebbero saltare).
user1686

Ah scusa, ho risposto prima che fosse pubblicata la tua modifica di backup ! ;)
HaydnWVN,

1
Non dimenticare che visualizzare il registro non elaborato è in qualche modo il modo più difficile di fare le cose qui. L'interprete dei comandi in bundle di Microsoft ha FTYPEe ASSOCcomandi, e l'elenco dei tipi di file è anche accessibile direttamente tramite finestre di dialogo in Esplora risorse .
JdeBP,

@JdeBP: AFAIK, Windows Vista si è sbarazzato dell'editor in Explorer - ora seleziona l'azione predefinita. (Non ho scavato più a fondo, comunque; sto ancora usando XP qui.) Inoltre, la grafica regeditoffre una bella panoramica.
user1686

2

Prova questo:

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}"
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.