FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Asociar Extencion de Archivos a mi Aplicaci贸n
Posts: 625
Joined: Wed Mar 14, 2007 06:49 PM
Asociar Extencion de Archivos a mi Aplicaci贸n
Posted: Tue Nov 13, 2007 11:31 PM

Saludos:

De nuevo aqui con mis marcianadas :twisted: y preguntas extra帽as :evil: para todo el foro:

Es posible asociar una extencion de un archivo (p.e. *.VIC) con mi aplicaci贸n y a la vez colocar un 铆cono para distinguirlo, pongo como ejemplo una utilidad muy conocida por todos nosotros y que es para visualizar archivos .DBF (me refiero a Prometehus DATABASE WORKSHOP de Andrade A. Daniel). lo necesito para mi aplicaci贸n ya que pretendo asociar archivos de ayuda en la misma. :D

Esperando propuestas y soluciones:

Soluciones y Dise帽o de Software Empresarial
I.S.C V铆ctor Daniel Cuat茅catl Le贸n

www.sisa.unlugar.com

Soluciones y Dise帽o de Software
Damos Soluciones...

I.S.C. Victor Daniel Cuatecatl Leon
Director y Dise帽ador de Proyectos

http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
Posts: 625
Joined: Wed Mar 14, 2007 06:49 PM
Asociar Extencion de Archivos a mi Aplicaci贸n
Posted: Sat Dec 01, 2007 03:51 PM

Saludos al todo el distiguido foro:

Ok. haciendo pruebas e investigando un poco sobre claves del registro de windows he llegado a la conclusion de que si se puede hacer esta "trampita" que permite disfrazar cualquier extenci貌n de archivo a y asociarla a nuestra aplicaci贸n.

隆隆 CUIDADO !! Es pa toda la gente que le gusta ser cremosa y que gustan que sus aplicaciones se vean a veces medias cursis, pero es a fin y al cabo una aportaci貌n m脿s.

por ejemplo: si queremos que nuestros archivos .DBF tengan un 矛cono y asosiarlo a nuetra aplicai貌n yo lo hago de la siguiente forma:

Registra(".DBF","baseddatos.aplicacion","Mi tabla de trabajo",14)

y esta el la funci貌n que se encarga de este truco:

Include "FIVEWIN.CH"

ifndef XPP

#define HKEY_CLASSES_ROOT 2147483648
#define HKEY_CURRENT_USER 2147483649
#define HKEY_LOCAL_MACHINE 2147483650
#define HKEY_USERS 2147483651
#define HKEY_PERFORMANCE_DATA 2147483652
#define HKEY_CURRENT_CONFIG 2147483653
#define HKEY_DYN_DATA 2147483654

else

#define HKEY_CLASSES_ROOT 1
#define HKEY_CURRENT_USER 2
#define HKEY_LOCAL_MACHINE 3
#define HKEY_USERS 4
#define HKEY_PERFORMANCE_DATA 5
#define HKEY_CURRENT_CONFIG 6
#define HKEY_DYN_DATA 7

endif

//-------------------------------//
FUNCTION Registra(cExten,cCadena,cTipo,nIcono)

LOCAL oReg
LOCAL cAplicacion:= UPPER(ALLTRIM(GetModuleFileName(GetInstance()))+","+ALLTRIM(STR(nIcono)))

oReg:= TReg32():CREATE( HKEY_CLASSES_ROOT, cExten )
oReg:SET( "", cCadena )
oReg:CLOSE()

oReg:= TReg32():CREATE( HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\"+cExten )
oReg:= TReg32():CREATE( HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\"+cExten+"\OpenWithList" )
oReg:= TReg32():CREATE( HKEY_CURRENT_USER, "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\"+cExten+"\OpenWithProgids" )
oReg:CLOSE()

oReg:= TReg32():CREATE( HKEY_LOCAL_MACHINE, "Software\Classes\"+cExten )
oReg:SET( "", cCadena )
oReg:CLOSE()

oReg:= TReg32():CREATE( HKEY_CLASSES_ROOT, cCadena )
oReg:SET( "", cTipo )
oReg:CLOSE()
oReg:= TReg32():CREATE( HKEY_CLASSES_ROOT, cCadena+"\DefaultIcon" )
oReg:SET( "", cAplicacion )
oReg:CLOSE()

oReg:= TReg32():CREATE( HKEY_LOCAL_MACHINE, "SOFTWARE\Classes\"+cCadena )
oReg:SET( "", cTipo )
oReg:CLOSE()
oReg:= TReg32():CREATE( HKEY_LOCAL_MACHINE, "SOFTWARE\Classes\"+cCadena+"\DefaultIcon" )
oReg:SET( "", cAplicacion )
oReg:CLOSE()

RETURN nil

Donde:

cExten: Es la estenci贸n a Asociar. esta debe ser antrecedida por punto (.)
cCadena: es la cadena de caracteres donde se crea la clave en el registro.
cTipo: Aky podemos poner una leyenda para verla en el explorador.
nIcono: Este es el n霉mero de icono para identificarlo, comienza desde 0 ya que es el primer icono con el que comienza nuetra aplicaci貌n.

Esta es la soluci貌n que tengo implantada en mi aplicaci貌n y le da m脿s vistosidad a los archivos, es 100% funcional, y no interfiere con otros archivos asociados a otras aplicaciones...

estoy trabajando para que al hacer doble click el archivo sea abierto por nuetra aplicaci貌n, esto ser脿 proximamente..

Saludos y nos escribimos luego..

I.S.C. V矛ctor Daniel Cuat猫catl Le貌n. :roll:

Soluciones y Dise帽o de Software
Damos Soluciones...

I.S.C. Victor Daniel Cuatecatl Leon
Director y Dise帽ador de Proyectos

http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Asociar Extencion de Archivos a mi Aplicaci贸n
Posted: Sat Dec 01, 2007 05:36 PM

Victor,

Gracias! :-)

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 625
Joined: Wed Mar 14, 2007 06:49 PM
Re: Asociar Extencion de Archivos a mi Aplicaci贸n
Posted: Sat Oct 16, 2010 10:49 PM
Hola de nuevo al Foro:

A solicitud de un Colega Peruano, que me Solicito Via MP la contibuaci贸n de 茅ste Post de hace ya unos a帽os, re-abro y continuo este post, ojala le sea de utilidad... :-) :-) :-)

Si bien ya era posible dentro de mi Sistema asociar un archivo ".123" a una "X" Aplicaci贸n para tomar el icono numero "N" y tener un mejoramiento visual a los archivos "disfrazados" de nuestra aplicaci贸n, me di a la tarea de hacer que estos archivos fueran tambien abiertos fuera del Sistema con tan solo dar doble click.

Para no ser tan extenso todo este cuento les dejo los fuentes y los ejecutables de 2 aplicaciones

1.- REGISTRAR.PRG (.EXE) : Se encarga de Registrar nuestro archivo con extenci贸n ".123" a
Nuestra Aplicaci贸n "X", por falta de tiempo me falto explorar el
ejecutable a Asociar, vizualizar los iconos y devolver el numero
de icono seleccionado ( Lo que esta en el Dibujo06 )



Para entender mejor como funciona este ejemplo adjunto el c贸digo fuente, solo hay que jugar
y entender la l贸gica del Registro de Windows con respecto a las Aplicaciones tanto para
apertura y asosiaci贸n, como solo para asosiaci贸n de archivos.


2.- BROWSER.PRG (.EXE) : Es un simple Visualizador de Bases de Datos, solo eso, no permite
Edici贸n ni nada, solo es un ejemplo de como es posible abrir un
archivo asosiado a una aplicaci贸n, ya sea abriendola desde el mismo
Editor, arrastrando y soltando dentro del Editor, o con doble Click.

La 煤nico que incorpore en este editor fue la posibilidad de poder revisar si el archivo que
se pretende abrir es una DBF o no, para mayor control y no modificar archivos con lo que no es.

http://www.megaupload.com/?d=PDUF9L9G

Espero y les sirva, solo me falta la opci贸n de vizualizar los iconos de un .EXE, y en base al icono que se haya seleccionado guardarlo en el registro, por defecto toma el icono del exe para la Asosiaci贸n.



Si alguien m谩s puede aportar a este modulo se lo agradecer茅, de todas maneras seguire investigando como hacerlo...

Estimado Juan Carlos Canals, espero sea de ayuda... :-) :-) :-) :-)

Saludos..
Soluciones y Dise帽o de Software
Damos Soluciones...

I.S.C. Victor Daniel Cuatecatl Leon
Director y Dise帽ador de Proyectos

http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
Posts: 4
Joined: Wed Mar 31, 2010 08:14 PM
Re: Asociar Extencion de Archivos a mi Aplicaci贸n
Posted: Tue Oct 19, 2010 06:58 PM

Estimado Victor, anoche lo baj茅 y era justo lo que necesitaba, mil gracias :D

fwh

xharbour

borland C++ Compiler 5.5

PellesC
Posts: 1816
Joined: Wed Oct 26, 2005 02:49 PM
Re: Asociar Extencion de Archivos a mi Aplicaci贸n
Posted: Wed Oct 20, 2010 06:26 PM

Amigo Excelente aporte... Muchas Gracias

Saludos
LEANDRO AREVALO
Bogot谩 (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com

[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 25.01 ] [ xHarbour 64 bits) ]
Posts: 625
Joined: Wed Mar 14, 2007 06:49 PM
Re: Asociar Extencion de Archivos a mi Aplicaci贸n
Posted: Tue Nov 02, 2010 06:02 PM
Despues de unos dias de investigaci贸n de como dibujar los iconos con el Api de Windows y haciendo conversiones con VB6 y los controles de Fivewin que era lo que faltaba, porfin queda termnada esta utilidad, con su corespondiente actualizaci贸n, ahora se ve as铆 y se puede seleccionar el icono a Asociar.



Para los que lo hayan bajado y quieran actualizarlo les doy el enlace..
http://www.megaupload.com/?d=2WM43LYI

Esperando que a alguien m谩s le pueda servir.. :-) :-)

Saludos...
Soluciones y Dise帽o de Software
Damos Soluciones...

I.S.C. Victor Daniel Cuatecatl Leon
Director y Dise帽ador de Proyectos

http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
Posts: 625
Joined: Wed Mar 14, 2007 06:49 PM
Re: Asociar Extencion de Archivos a mi Aplicaci贸n
Posted: Sat May 07, 2016 03:34 PM

Para quien lo necesite el Link Actualizado..

http://www.mediafire.com/download/c8lft ... sociar.rar

Saludos.

Soluciones y Dise帽o de Software
Damos Soluciones...

I.S.C. Victor Daniel Cuatecatl Leon
Director y Dise帽ador de Proyectos

http://www.soldisoft.unlugar.com
http://www.sisa.unlugar.com
danyleon82@hotmail.com
www.facebook.com/victordaniel.cuatecatlleon
Posts: 6755
Joined: Wed Feb 15, 2012 08:25 PM
Re: Asociar Extencion de Archivos a mi Aplicaci贸n
Posted: Sat May 07, 2016 07:26 PM

Victor, gracias

Cristobal Navarro

Hay dos tipos de personas: las que te hacen perder el tiempo y las que te hacen perder la noci贸n del tiempo

El secreto de la felicidad no est谩 en hacer lo que te gusta, sino en que te guste lo que haces

Continue the discussion