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.