Toda la información de asociación de extensión de archivo se almacena en el registro. Y si navega un poco, no es terriblemente difícil descubrir cómo funcionan las cosas. Para las asociaciones de todo el equipo, todo sucede en la raíz de HKEY_CLASSES_ROOT . La edición manual de estas cosas le brinda el máximo poder sobre sus extensiones de archivo (aunque tedioso). Simplemente cree una copia de seguridad en caso de que arruine las cosas y quiera volver.
Cada asociación de archivo tiene una subclave llamada .xyz donde xyz es la extensión de su archivo. El valor (predeterminado) para esa clave se establece en una cadena arbitraria. La mayoría de las aplicaciones que registran extensiones de archivo lo configuran en algo legible por humanos. Por ejemplo, .pdf en mi sistema está configurado como FoxitReader.Document . Puede haber otros valores en esta clave, pero nada es obligatorio excepto el valor (Predeterminado).
Para cualquier valor que esté establecido en (Predeterminado), habrá una subclave correspondiente con el mismo nombre también en la raíz de HKEY_CLASSES_ROOT. El valor (predeterminado) de esta clave es esencialmente el "nombre descriptivo" del tipo de archivo. Esta clave también puede tener muchas subclaves, pero las únicas que nos interesan son DefaultIcon y Shell .
DefaultIcon, como probablemente haya adivinado, controla el icono para ese tipo de archivo. El valor (predeterminado) para esta clave debe establecerse en la ruta del archivo de icono. O si el icono está en un archivo .exe, configúrelo en la ruta del archivo .exe e incluya una coma y el índice del icono al final de la ruta. Por ejemplo, FoxitReader.Document DefaultIcon se establece en
C:\PROGRA~1\FOXITS~1\FOXITR~1\FOXITR~1.EXE,1
Shell es donde configura todas las "acciones" para este tipo de archivo. Para cada acción que desee definir, cree una subclave llamada lo que quiera nombrar a la acción. La mayoría de los tipos tienen al menos una acción llamada abierta . Dentro de la subclave de esta nueva acción, cree una subclave llamada Comando . El valor (predeterminado) de esta tecla de comando es básicamente la línea de comando que se ejecuta cuando se hace clic / ejecuta esta acción. Por ejemplo, el comando de apertura en un FoxitReader.Document es
"C:\PROGRA~1\FOXITS~1\FOXITR~1\FOXITR~1.EXE" "%1"
El argumento "% 1" se establece en la ruta del archivo desde el que ejecutó la acción.
Si solo tiene una acción definida para un tipo de archivo determinado, creo que será la acción predeterminada que se ejecuta si se hace doble clic en el archivo. Si hay varias acciones posibles, puede establecer cuál será la predeterminada modificando el valor (Predeterminado) de la tecla Shell . Simplemente configúrelo con el nombre de la acción que desea que sea la predeterminada.
Dicho todo esto, no es muy eficiente hacerlo todo desde cero. Probablemente sea más fácil usar las herramientas integradas para llegar hasta allí y luego simplemente ajustar las cosas manualmente que las herramientas no te permiten hacer. Probablemente también debería mencionar que toda esta información se basa en XP, pero estoy casi seguro de que nada ha cambiado para Vista o Win7.