¿Cómo asocia la extensión de archivo .exe con un programa en Windows?

16

Hace unos años vi a alguien jugarle una broma al asociar la .exeextensión del archivo con Internet Explorer. Esto hizo que Internet Explorer se abriera cada vez que la persona quería iniciar un programa.

Desafortunadamente, olvidé cómo se hizo esto. Traté de usar la Default Programs > Set Associationsherramienta Panel de control, pero no apareció .exe.

¿Cómo se puede establecer esta asociación de archivos y, quizás lo más importante, cómo se puede desactivar?

Peter Olson
fuente
está en una búsqueda de google de virus por lotes
RobotHumans

Respuestas:

20

Cuando se hacen "bromas" así, no es suficiente seguir un tutorial paso a paso o un script por lotes; Lo mejor es saber algo sobre cómo se almacenan los datos reales: es más fácil recuperarlos más tarde.

Todas las asociaciones de archivos se mantienen en el Registro, que se puede editar usando regedit o reg . El shell los busca debajo HKEY_CLASSES_ROOT, que es una vista fusionada de HKEY_LOCAL_MACHINE\Software\Classes(en todo el sistema) y HKEY_CURRENT_USER\Software\Classes(local del usuario).

  • [ HKEY_CLASS_ROOT]
    • [ .txt]
      • (predeterminado) = " txtfile" - puntero a otra tecla en HKCR
    • [ txtfile]
      • (predeterminado) = " Text Document" - descripción textual como se muestra en el Explorador
      • [ shell] - las acciones a utilizar para hacer doble clic y menú contextual
        • (predeterminado) = (no establecido) : la acción a utilizar al hacer doble clic; el valor predeterminado es " open"
        • [ open]
          • (predeterminado) = (no establecido) : etiqueta que se muestra en el menú contextual; el valor predeterminado es " Open"
          • [ command]
            • (predeterminado) = " %SystemRoot%\system32\NOTEPAD.EXE %1"

Para la mayoría de las extensiones, el valor apunta a una clave de tipo de archivo bajo el mismo HKCR; por ejemplo, apunta a .HKCR\.extn\(Default).exeHKCR\exefile

(Sin embargo, en casos excepcionales, toda la información se encuentra directamente bajo la clave de la extensión, que contiene la descripción. Sin embargo, esto parece ser muy raro, tal vez un resto de Windows 9x o 3.x ...)HKCR\.extn\(Default)

Hacer copias de seguridad. reg save HKLM\Software\Classes hklm-classes.hivAdemás, recuerde que el símbolo del sistema no se preocupa por las extensiones; Si intenta ejecutar un programa ejecutable, siempre se ejecutará sin importar cómo se llame o con qué extensión esté asociada.

usuario1686
fuente
1
¡Obviamente, exporte el registro antes de hacer cambios como este! :)
HaydnWVN
@HaydnWVN: reg savese encarga de eso (y también incluye metadatos, que reg exportse omitirían).
user1686
¡Ah, lo siento, respondió antes de que se publicara la edición Hacer copias de seguridad ! ;)
HaydnWVN
1
No olvides que ver el registro en bruto es algo difícil de hacer aquí. El intérprete de comandos incluido de Microsoft tiene FTYPEy ASSOCcomandos, y también se puede acceder a la lista de tipos de archivos a través de cuadros de diálogo en el Explorador de Windows directamente .
JdeBP
@JdeBP: AFAIK, Windows Vista se deshizo del editor en Explorer, ahora solo selecciona la acción predeterminada. (Sin embargo, no he profundizado más; todavía uso XP aquí.) Además, el gráfico regeditofrece una buena visión general.
user1686
2

Prueba esto:

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}"
Kinokijuf
fuente