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:
- Tipos de archivo público y privado
- Registro de un tipo de archivo
- Tipos de archivo que admiten metadatos abiertos
- Temas relacionados
Puede encontrar información adicional en los temas siguientes:
- Cómo elegir una extensión de tipo de archivo
- Cómo definir atributos de tipo de archivo
- Cómo incluir una aplicación en el cuadro de diálogo Abrir con
- Cómo excluir una aplicación del cuadro de diálogo Abrir con para tipos de archivo no asociados
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 |
Temas relacionados