Tipos de archivo

En este tema se explica cómo crear nuevos tipos de archivo y cómo asociar la aplicación con el tipo de archivo y otros tipos de archivo bien definidos. Los archivos con una extensión de nombre de archivo común compartida (.doc, .html, etc.) son del mismo tipo. Por ejemplo, si crea un nuevo editor de texto, puede usar el tipo de archivo .txt existente. En otros casos, es posible que tenga que crear un nuevo tipo de archivo.

Este tema se organiza de la siguiente manera:

Puede encontrar información adicional en los temas siguientes:

Tipos de archivo público y privado

Los tipos de archivo público también se conocen como tipos populares o contenios porque es posible que las aplicaciones en competencia quieran asociarse con estos tipos de archivo. Entre las características de los tipos de archivo público se incluyen las siguientes:

  • Normalmente se definen mediante organismos de estándares y/o se promueven mediante su definición de organizaciones como formatos de intercambio.
  • A menudo se intercambian entre equipos y usuarios con diversos fines.
  • Deben admitirse en muchas plataformas diferentes.
  • Es probable que las aplicaciones de varios proveedores las controlen.

Algunos ejemplos de tipos de archivo que se consideran públicos son los tipos de archivo de imagen .png, .gif, .jpg y .bmp, y los tipos de audio .wav, .mp3 y .au.

A diferencia de los tipos de archivo públicos, los tipos de archivo privados o propietarios suelen tener un formato que se implementa y entiende solo por una aplicación o proveedor. Como resultado, los tipos de archivo privados normalmente no son propensos a conflictos entre aplicaciones. Algunos tipos de archivo pueden iniciarse como tipos de archivo privados, pero más adelante se convierten en tipos de archivo públicos.

Nota

Windows no diferencia entre los tipos de archivo público y privado. La distinción solo es relevante para tomar decisiones sobre su elección de registro de tipo de archivo.

 

Registro de un tipo de archivo

Para asociar el tipo de archivo a una aplicación existente, busque la aplicación ProgID en el Registro. Para asociar el tipo de archivo a una nueva aplicación, defina un ProgID para la aplicación. Para obtener información sobre cómo definir un nuevo ProgID, vea Identificadores de programación.

Las subclaves de extensión de nombre de archivo tienen la siguiente forma general: extensión=ProgID. Las subclaves de extensión de nombre de archivo se almacenan en el subárbol HKEY_CLASSES_ROOT .

Es importante incluir el punto inicial (.) al crear subclaves de tipo de archivo en el Registro. Por ejemplo, si desea que un tipo de archivo con la extensión corta .myp y la extensión long .myp-file que se abra con una aplicación denominada MyProgram, use la siguiente sintaxis:

HKEY_CLASSES_ROOT
   .myp
      (Default) = ApplicationVendor.MyProgram
   .myp-file
      (Default) = ApplicationVendor.MyProgram
   ApplicationVendor.MyProgram
      (Default) = MyProgram Application

Como se muestra en el ejemplo anterior, si también registra una extensión de nombre de archivo corta (.myp), también debe crear una subclave para la extensión larga (.myp-file). Para obtener más información, vea Controladores de tipos de archivo.

Establecer subclaves opcionales y atributos de extensión de tipo de archivo

Las entradas de extensión de tipo de archivo del Registro tienen varias subclaves y atributos opcionales.

Las entradas de extensión de tipo de archivo que usan las asociaciones de archivo se describen en la tabla siguiente. Todos los valores son del tipo REG_SZ .

Entrada del Registro Acción
Default Establezca el valor predeterminado de la subclave de extensión en el ProgID al que está vinculado.
Tipo de contenido Establezca el valor tipo de contenido en el tipo de contenido MIME del tipo de archivo.
OpenWithList No debe usarse. Esta subclave contiene una o varias subclaves de aplicación para las aplicaciones que aparecen en la entrada Abrir con con el tipo de archivo y está pensada solo para .exe aplicaciones en sistemas operativos anteriores a Windows XP. Use OpenWithProgIds en su lugar.
OpenWithProgIds Esta subclave contiene una lista de progID alternativos para este tipo de archivo. Los programas para estos ProgID aparecen en el menú Abrir con y están disponibles como aplicaciones predeterminadas de la Tienda Windows para el tipo de archivo. Cada vez que una aplicación toma el control de este tipo de archivo cambiando el valor predeterminado, también debe agregar una entrada a esta lista.
PerceivedType Establezca el valor de PerceivedType en el valor de PerceivedType al que pertenece el archivo, si existe. Las versiones de Windows no usan esta cadena antes de Windows Vista. Para obtener más información, vea Tipos percibidos y registro de aplicaciones.

 

La forma general de una subclave de extensión de nombre de archivo es la siguiente. Todos los tipos de entrada son del tipo REG_SZ .

HKEY_CLASSES_ROOT
   .ext
      (Default) = ProgID.ext.1
      Content Type = MIME content type
      PerceivedType = PerceivedType
      OpenWithProgids
         ProgID2.ext.1
         ProgID3.ext.1
      ProgID.ext.1
         shellnew

Entre las consideraciones importantes sobre los tipos de archivo se incluyen:

  • El subárbol HKEY_CLASSES_ROOT es una vista formada por la combinación de clasesdesoftware\ HKEY_CURRENT_USER\y clases desoftware\HKEY_LOCAL_MACHINE\

  • En general, HKEY_CLASSES_ROOT está pensada para leerse, pero no escribirse en. Para obtener más información, consulte el artículo HKEY_CLASSES_ROOT .

  • Para registrar un tipo de archivo globalmente en un equipo determinado, cree una entrada para el tipo de archivo en la subclave HKEY_LOCAL_MACHINE\Clases desoftware\.

  • Para que un registro de tipo de archivo solo sea visible para el usuario actual, cree una entrada para el tipo de archivo en la subclave\ HKEY_CURRENT_USERClases desoftware\.

  • Una aplicación puede proporcionar su propia implementación de un verbo, como abrir o reproducir, como se muestra en el ejemplo del Registro siguiente.

    HKEY_CLASSES_ROOT
       Applications
          ApplicationName.exe
             shell
                verb
    

    Las subclaves de la subclave de verbo incluyen la línea de comandos y el método drop target: command y DropTarget.

  • Al crear o cambiar una asociación de archivos, es importante notificar al sistema que ha realizado un cambio. Para ello, llame a SHChangeNotify y especifique el evento SHCNE_ASSOCCHANGED . Si no llama a SHChangeNotify, es posible que el cambio no se reconozca hasta después de reiniciar el sistema.

  • Para recuperar información del Registro con respecto a una asociación de archivos, use la interfaz IQueryAssociations . Para ver un escenario que ilustra este procedimiento, vea Escenario de ejemplo de asociación de archivos.

Nota

Tanto las subclaves del Registrode rutas de acceso de aplicación como las aplicaciones se usan para registrar y controlar el comportamiento del sistema en nombre de las aplicaciones. Para obtener información más detallada sobre esta funcionalidad, consulte Registro de aplicaciones.

 

Eliminar información del Registro durante la desinstalación

Al desinstalar una aplicación, los ProgID y la mayoría de la información del Registro asociada a esa aplicación se deben eliminar como parte de la desinstalación. Sin embargo, las aplicaciones que han tomado posesión de un tipo de archivo (estableciendo el valor predeterminado de la subclave HKEY_CLASSES_ROOT.extension\ del tipo de archivo en el ProgID de la aplicación) no deben intentar quitar ese valor al desinstalar. Dejar los datos en su lugar para el valor Predeterminado evita la dificultad de determinar si otra aplicación ha tomado posesión del tipo de archivo y sobrescribido el valor Predeterminado después de instalar la aplicación original. Windows respeta el valor Predeterminado solo si el ProgID encontró que hay un ProgID registrado. Si el ProgID no está registrado, se omite.

Tenga en cuenta que otra información de propiedad de tipo de archivo se almacena en el subárbol HKEY_CURRENT_USER y también se usa solo cuando se registra la aplicación a la que hace referencia. Por lo tanto, no es necesario quitar estos datos al desinstalar una aplicación.

Por ejemplo, a continuación se muestra el estado del Registro antes de desinstalar una aplicación:

HKEY_CLASSES_ROOT
   .mp3
      (Default) = YourProgID
   YourProgID
      shell
         open
            command
               (Default) = yourapp.exe %1

A continuación se muestra el estado de esas mismas entradas del Registro después de desinstalar la aplicación.

HKEY_CLASSES_ROOT
   .mp3
      (Default) = YourProgID
   YourProgID subkey removed

Tipos de archivo que admiten metadatos abiertos

En Windows 7 y versiones posteriores, los siguientes tipos de archivo admiten metadatos abiertos.

Tipo de archivo Extensiones de nombre de archivo
Documentos de Office 2007 .docx, .xlsx, .pptx
Documentos de Office 97-2003 .doc, .xls, .ppt
Búsqueda guardada .search-ms
Formatos basados en Windows Media (contenedor de formato de streaming avanzado (ASF) .wmv, .wma
MP4 (controlador de propiedades) .mp4, .m4a, .m4v, .mp4v, .m4p, .m4b, .3gp, .3gpp, .3gp2, .mov

 

Registro de aplicaciones

Cómo funcionan las asociaciones de archivos

Vista de contenido por tipo de archivo o tipo

Comprobador de tipo de archivo

Controladores de tipos de archivo

Identificadores de programación

Tipos percibidos

Matrices de asociación