¿Cómo asociar una aplicación de Windows con un tipo de archivo en particular, pero compartir esa asociación con otras aplicaciones?

Si creo una aplicación nueva y me asocio con, digamos, la extensión de archivo .xml en una computadora en particular, cuando alguien haga doble clic en el archivo .xml, lanzará mi aplicación y pasará el archivo como parámetro. Pero Windows parece saber qué otros archivos tienen la capacidad de trabajar con ese tipo de archivo. ¿Cómo se configura eso?

Además, cuando guardo un archivo de Microsoft Word como un archivo .xml, luego hago doble clic en el archivo, se iniciará Microsoft Word, aunque el tipo de archivo .xml esté asociado a otra cosa, como Internet Explorer. Parece que puede haber un código auxiliar asociado con el tipo de archivo .xml que cuando se invoca mira el contenido e inicia la aplicación correspondiente.

¿Existe una API de Windows, o algún tipo de forma estándar de hacerlo?

Lo que quería crear una aplicación para hacer exactamente lo que Word está haciendo, es decir, guardar el archivo en formato .xml, pero cuando se hace doble clic, se inicia la aplicación mi en lugar de Internet Explorer.

Respuestas a la pregunta(3)

Su respuesta a la pregunta