Cómo reparar asociación de archivos con programas predeterminados

¿Te aparece este mensaje al intentar abrir un archivo?

Este archivo no tiene ningún programa asociado para realizar esta acción. Instale el programa que corresponda o, si ya lo tiene instalado, cree una asociación en el panel de control de Programas predeterminados.

Aquí está la solución...


¿Por qué ocurre esto?


El problema reside en el Registro de Windows. En él hay una clave para manejar los casos de extensiones de archivos desconocidas para el sistema: HKEY_CLASSES_ROOT\Unknown\shell. Para nosotros, esto es conocido como "Abrir con" (Open as).

Por un virus o una acción inadecuada del usuario, puede haber desaparecido del Registro la subcarpeta "opendlg", que contiene las instrucciones a seguir. Ahora vamos a reparar esas instrucciones.


Solución


  1. Crea un archivo de texto con el siguiente contenido:

    Windows Registry Editor Version 5.00
    
    [HKEY_CLASSES_ROOT\Unknown\shell\opendlg]
    "LegacyDisable"=""
    "MultiSelectModel"="Single"
    
    [HKEY_CLASSES_ROOT\Unknown\shell\opendlg\command]
    @=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
      00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,72,00,75,00,\
      6e,00,64,00,6c,00,6c,00,33,00,32,00,2e,00,65,00,78,00,65,00,20,00,25,00,53,\
      00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,00,5c,00,73,00,\
      79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,73,00,68,00,65,00,6c,00,6c,\
      00,33,00,32,00,2e,00,64,00,6c,00,6c,00,2c,00,4f,00,70,00,65,00,6e,00,41,00,\
      73,00,5f,00,52,00,75,00,6e,00,44,00,4c,00,4c,00,20,00,25,00,31,00,00,00
    
  2. Guárdalo con cualquier nombre pero con extensión .reg (no .txt).
  3. Haz doble click sobre ese archivo para añadirlo al registro.

¡Listo! Desde ahora, cuando intentes abrir un archivo sin programa asociado, podrás elegir la acción a tomar.

Windows no puede abrir este archivo


Explicación adicional


La parte extraña del código anterior está en hexadecimal. Básicamente, contiene la ruta del archivo DLL que se invoca para asociar archivos con programas. De hecho, sólo dice:

%SystemRoot%\system32\rundll32.exe %SystemRoot%\system32\shell32.dll,OpenAs_RunDLL %1

Si te atacan dudas, busca en Internet un conversor de hexadecimal a texto y pega ese código.

Este es el resultado en el Registro de añadir el contenido del archivo de texto:

OpenAs_RunDLL

0 comentarios:

Publicar un comentario