Asociar Archivos con nuestro programa

By shinseiki21

El siguiente post es para programadores, muchas veces nuestros programas crean archivos con extensiones que nosotros inventamos, lo malo de esto Windows no las conoce y mucho menos las abre nuestro programa.

A continuacion pongo los pasos para que Windows reconosca nuestros archivos, que nuestro programa se abra automaticamente al darle doble clic sobre alguno de nuestros archivos y que nuestro programa automaticamente carge ese archivo.

- Primero debemos abrir el editor de registros, en el menu de inicio -> ejecutar escribimos: regedit

- Dentro de HKEY_CLASSES_ROOT damos clic derecho y creamos una nueva clave con la extension de nuestros archivos, en mi caso y por muy ridiculo que se escuche son .ipo (se debe incluir el punto y extencion)

- En el valor por default o predeterminado como le quieran decir, ponemos el nombre interno con el cual Windows va a reconocer a nuestra extension, en mi caso es IPO.Files

- De nuevo en HKEY_CLASSES_ROOT damos clic derecho y creamos otra clave con el nombre interno que le pusimos en el paso anterior, debe ser tal y cual se lo pusimos en el paso anterior

- En el valor predeterminado ponemos el nombre que queremos que nuestro usuario identifique a esos archivos en el explorador, en mi caso al visualizar los archivos *.ipo, el explorardor de windows me va a presentar ICEM – Ordenes de Compra

- Si tenemos un icono que hayamos creado podemos incluirse creando una nueva clave con el nombre de DefaultIcon dentro de la clave interna de windows, o sea, HKEY_CLASSES_ROOT\IPO.Files\DefaultIcon

- En el valor predeterminado ponemos la ruta donde se encuentra el icono, una coma y el index del icono. Esto que significa, que si es un solo archivo el index es 0 si tenemos varios Iconos que obtenemos de un exe o un dll entonces ponemos el numero del index del icono que queremos presentar al usuario

- Creamos otra clave dentro del nombre interno de windows, el cual llamaremos Shell, o sea, HKEY_CLASSES_ROOT\IPO.Files\Shell

- Creamos otra clave dentro de Shell y la nombramos con el nombre que queremos que aparesca al darle clic derecho sobre el archivo, en mi caso simplemente Abrir, o sea, HKEY_CLASSES_ROOT\IPO.Files\Shell\Abrir

- Creamos otra clave dentro de Abrir con el nombre de command y en el valor por default ponemos la ruta, nombre de nuestra aplicacion un espacio y %1, quedaria asi, o sea, HKEY_CLASSES_ROOT\IPO.Files\Shell\Abrir\command y el valor por default tendria algo asi “C:\ICEMSys.exe” “%1″ (Cuando programamos en lenguajes Borland es necesario ponerlos entre comillas dobles tanto la ruta y nombre como el %1 asi como en mi ejemplo) (El %1 es la ruta y nombre del archivo que esta mandando llamar a nuestra aplicacion, esto se lo estamos pasando a la aplicacion como parametro)

- Dentro de nuestra aplicacion, donde queremos que se cargue nuestro archivo ponemos lo siguiente:

if ParamCount > 0 then
//Esta linea me muestra el nombre del archivo que lo mando llamar
MessageDlg( ParamStr(1),mtInformation,[mbYes],0 ) ;

En lugar del MessageDlg podemos usar un LoadFromFile, correr todo un procedimiento X con el nombre de nuestro archivo, etc.

En fin este fue el momento Programando con Shinseiki, puse este post porque batalle un poquito para encontrar, comprender e implementar todo esto. Nos vemos despuesin, byes.

Escribe un comentario