2009-11-27 12 views
6

Deseo poder registrar mi extensión de archivo desde mi programa. (Asociar el tipo de archivo con mi programa)Cómo crear programáticamente una asociación de archivos que funcione en XP, Vista y Windows 7

Hay muchos artículos sobre esto, pero la técnica discutida (jugueteando con el registro) solo es apropiada para Windows XP por lo que veo.

¿Cuál es la mejor manera de asociar un tipo de archivo con un programa para que funcione también con XP, Vista y Windows 7? (¿Hay algún código de ejemplo que funcione?)

ClickOnce sería una opción, pero esto solo registra el tipo de archivo en el tiempo de instalación mientras quiero poder registrar tipos de archivos en tiempo de ejecución.

+0

¿Has probado este método en Vista y Win 7? Me sorprendería si no funcionara. – Lazarus

+0

Posible duplicado: http://stackoverflow.com/questions/1082889/ –

Respuesta

6

En Windows Vista (y presumiblemente en Windows 7) las asociaciones de archivos han cambiado: si un archivo ya está asociado a un programa y usted lo reasoció, hacer doble clic en el archivo no lo abrirá con el nuevo programa. En cambio, la asociación se agrega a la lista en "abrir con". También vea este pequeño debate en registering your application for associations in Vista (Archivo web, el enlace original ha desaparecido).

No estoy seguro de si es bueno cambiar esto. Sin embargo, this post discusses las diversas claves del registro que puede usar. Pero aún mejor, this codeproject article le da código listo para usar para asociar un archivo en tiempo de ejecución. No sé si funciona de manera diferente en Vista + sin embargo.

0

Hubo solo un par de cambios de XP a Vista/7 en lo que respecta a la asociación de archivos, por lo que la mayoría de los ejemplos de XP deberían funcionar. Lo único que debería preocuparle es la configuración de "Programas predeterminados" en Vista/7 que no existía en XP y anula el registro de otras asociaciones de archivos.

1

Si necesita agregar la asociación de archivos en un escenario que no sea de administrador, puede usar asociaciones de archivos específicos del usuario que se describen en this article. Consulte "asociaciones de archivos específicos del usuario".

Cuestiones relacionadas