Especificación de identificadores de archivo para extensiones de nombre de archivo
Hay varias maneras de determinar la aplicación que controla un archivo que tiene una extensión de archivo determinada. Los verbos OpenWithList y OpenWithProgids son dos maneras de especificar controladores de archivos en la entrada del Registro para la extensión de archivo.
Verbo OpenWithList
Al hacer clic con el botón derecho en un archivo en el Explorador de Windows, verá el comando Abrir. Si hay más de un producto asociado a una extensión, verá un submenú Abrir con.
Puede registrar diferentes aplicaciones para abrir una extensión estableciendo la clave OpenWithList para la extensión de archivo en HKEY_CLASSES_ROOT. Las aplicaciones enumeradas en esta clave para una extensión de archivo aparecen en el encabezado Programas recomendados en el cuadro de diálogo Abrir con. En el ejemplo siguiente se muestran las aplicaciones registradas para abrir la extensión de archivo .vcproj.
HKEY_CLASSES_ROOT\
.vcproj\
(default)="VisualStudio.vcproj.14.0"
OpenWithList\
devenv.exe
Nota:
Las claves que especifican aplicaciones proceden de la lista en HKEY_CLASSES_ROOT\Applications.
Al agregar una clave OpenWithList, se declara que la aplicación admite una extensión de archivo incluso si otra aplicación toma posesión de la extensión. Podría tratarse de una versión futura de la aplicación u otra aplicación.
OpenWithProgIDs
Los identificadores de programación (ProgID) son versiones de ClassID que identifican una versión de una aplicación o un objeto COM. Cada objeto cocreable debe tener su propio ProgID. Por ejemplo, VisualStudio.DTE.7.1 inicia Visual Studio .NET 2003 mientras VisualStudio.DTE.10.0 inicia Visual Studio. Como propietario de un tipo de proyecto o tipo de elemento de proyecto, debe crear un ProgID específico de la versión para la extensión de archivo. Estos ProgID pueden ser redundantes en que más de un ProgID puede iniciar la misma aplicación. Para obtener más información, consulte Registro de verbos para extensiones de nombre de archivo.
Use la siguiente convención de nomenclatura para ProgID de archivos con versiones para evitar la duplicación con el registro de otros proveedores:
Extensión de archivo | ProgID con versiones |
---|---|
.extension | ProductName. extension.versionMajor.versionMinor |
Puede registrar diferentes aplicaciones que puedan abrir una extensión de archivo determinada agregando ProgID con versiones como valores a la clave HKEY_CLASSES_ROOT\<extension>\OpenWithProgids. Esta clave del Registro contiene una lista de ProgID alternativos asociados a la extensión de archivo. Las aplicaciones asociadas a los ProgID enumerados aparecen en el submenú Abrir conNombre de producto. Si se especifica la misma aplicación en las claves OpenWithList
y OpenWithProgids
, el sistema operativo combina los duplicados.
Nota:
La clave OpenWithProgids
solo se admite en Windows XP. Dado que otros sistemas operativos omiten esta clave, no lo use como el único registro para los controladores de archivos. Use esta clave para proporcionar una mejor experiencia de usuario en Windows XP.
Agregue los ProgID que desee como valores del tipo REG_NONE. El código siguiente proporciona un ejemplo de registro de ProgID para una extensión de archivo (.ext).
HKEY_CLASSES_ROOT\
.ext\
(default)="MyProduct.ext.14.0"
OpenWithProgids
progid REG_NONE (zero-length binary value)
otherprogid REG_NONE (zero-length binary value)
El ProgID especificado como valor predeterminado para la extensión de archivo es el controlador de archivos predeterminado. Si modifica el ProgID para una extensión de archivo que se incluye con una versión anterior de Visual Studio o que otras aplicaciones pueden asumir, debe registrar la clave OpenWithProgids
de la extensión de archivo y especificar el nuevo ProgID en la lista junto con los ProgID antiguos que admite. Por ejemplo:
HKEY_CLASSES_ROOT\
.vcproj\
(default)="VisualStudio.vcproj.14.0"
OpenWithProgids
vcprojfile //old progid
VisualStudio.vcproj.12.0 //old progid
VisualStudio.vcproj.14.0 //new progid
Si el ProgID antiguo tiene verbos asociados, estos verbos también aparecerán en Abrir con Nombre de producto en el menú contextual.