Página 1 de 1

saber carteta de un programa

Publicado: Dom Oct 14, 2007 6:14 pm
por PILO
Como puedo buscar desde xailer un programa y
saber la carpeta donde la contiene.
por ejemplo winrar.exe
quiero buscarla y tomar la carpeta donde esta.
Gracias al que me pueda ayudar

saber carteta de un programa

Publicado: Dom Oct 14, 2007 9:30 pm
por jrcpoli-quitar
Saludos:
Estaba buscando en Funciones de Ficheros y vi esta Función que no se si
es lo que buscas pero hay la dejo.
SearchPath( cPath, cFile, cExtension )
José Ramón Castro.
PILO escribió:
> Como puedo buscar desde xailer un programa y
> saber la carpeta donde la contiene.
> por ejemplo winrar.exe
> quiero buscarla y tomar la carpeta donde esta.
> Gracias al que me pueda ayudar
>
>

saber carteta de un programa

Publicado: Lun Oct 15, 2007 11:02 am
por PILO
Jose lo que quiero es buscar el archivo desde xailer
y sacar el patch de el.
Como lo puedo hacer desde xailer

saber carteta de un programa

Publicado: Lun Oct 15, 2007 12:32 pm
por Angel
PILO escribió:
> Jose lo que quiero es buscar el archivo desde xailer
> y sacar el patch de el.
> Como lo puedo hacer desde xailer
>
>
No se si es lo que estas buscando exactamente, pero cuando quiero abrir
un archivo con cualquier tipo de aplicación, lo que hago es llamar a
ShellExecute() con sus respectivos parámetros, y Windows ya se encarga
de abrirlo con el programa adecuado.
Si quieres saber como funciona ShellExecute() puedes buscar en el foro
pues es un tema que ya se ha comentado.

saber carteta de un programa

Publicado: Lun Oct 15, 2007 1:27 pm
por PILO
Angel un pequeño ejemplo de como se ejectua
utilizo esto y no funciona shellExecute("winrar")
"Ángel Fernández" <angel@agelso.com> escribió en el mensaje
news:[email=471341c6@ozsrv2.ozlan.local...]471341c6@ozsrv2.ozlan.local...[/email]
> PILO escribió:
>> Jose lo que quiero es buscar el archivo desde xailer
>> y sacar el patch de el.
>> Como lo puedo hacer desde xailer
>
> No se si es lo que estas buscando exactamente, pero cuando quiero abrir un
> archivo con cualquier tipo de aplicación, lo que hago es llamar a
> ShellExecute() con sus respectivos parámetros, y Windows ya se encarga de
> abrirlo con el programa adecuado.
>
> Si quieres saber como funciona ShellExecute() puedes buscar en el foro
> pues es un tema que ya se ha comentado.

saber carteta de un programa

Publicado: Lun Oct 15, 2007 2:54 pm
por Angel
PILO escribió:
> Angel un pequeño ejemplo de como se ejectua
> utilizo esto y no funciona shellExecute("winrar")
Es preferible que utilices la función que abajo te muestro:
Execute(cFile, cDir, lWait) ---> Ejecuta un PROCESO externo.
Esta función recibe tres parametros:
cFile -> Nombre de archivo a ejecutar.
cDir -> Directorio de comienzo (por defecto, el de la ruta del ejecutable
lWait -> Si verdadero (.T.), no devuelve el control a la aplicación
hasta que termine el proceso.
Retorna:
<hProcess | nExitCode>
Handle al proceso cuando lWait es falso, y código de salida del proceso
en caso contrario
Módulo:
Util.c
Ver también:
ShellExecute, ShellExecuteEx, WinExec
Te pongo un ejemplo de lo que podrí­as hacer con esta función:
Execute("C:ArchivoComprimido.RAR","C:",.T.)
Esto lo que harí­a es:
1º Si Windows tiene asociados los archivos de tipo .RAR a algun programa
(como por ejemplo WinRar) llamarí­a a este y abrirí­a automáticamente el
archivo "ArchivoComprimido.RAR"
2º Si windows no conoce este tipo de archivos, no ejecutarí­a nada y
retornarí­a un error de apertura.
Básicamente esto harí­a lo mismo que si en el explorador de WIndows, te
situas encima de un archivo .RAR y haces doble click en el. (Suponiendo
que se llamara a la función en el ejemplo que te muestro arriba).
P.D. Esto no se puede hacer, ShellExecute("winrar") porque:
- Winrar a secas, no es un ejecutable. Winrar.exe si lo és.
- Si especificas únicamente 'winrar', supongo que lo buscará en los PATH
del sistema.
- Precisamente, lo bueno de esta función no es llamar al programa sino
directamente AL ARCHIVO QUE QUIERES EJECUTAR y así­ te ahorras problemas
de donde está la aplicacion X o la aplicacion Y, pues quizas el usuario
no utiliza WinRar y utiliza WinZip y ya tu aplicación, no funcionarí­a.
De hecho y para salir de problemas, si Execute devuelve error, puedes
mostrar sugerentemente algo como: "No dispone de la aplicación adecuada
para abrir los archivos de tipo .RAR" y te libras de problemas.
Espero que te aclares ;-)

saber carteta de un programa

Publicado: Mié Oct 17, 2007 2:02 pm
por PILO
Gracias Angel lo probare.
"Ángel Fernández" <angel@agelso.com> escribió en el mensaje
news:[email=47136303@ozsrv2.ozlan.local...]47136303@ozsrv2.ozlan.local...[/email]
> PILO escribió:
>> Angel un pequeño ejemplo de como se ejectua
>> utilizo esto y no funciona shellExecute("winrar")
>
> Es preferible que utilices la función que abajo te muestro:
> Execute(cFile, cDir, lWait) ---> Ejecuta un PROCESO externo.
>
> Esta función recibe tres parametros:
> cFile -> Nombre de archivo a ejecutar.
> cDir -> Directorio de comienzo (por defecto, el de la ruta del ejecutable
> lWait -> Si verdadero (.T.), no devuelve el control a la aplicación
> hasta que termine el proceso.
>
> Retorna:
> <hProcess | nExitCode>
> Handle al proceso cuando lWait es falso, y código de salida del proceso
> en caso contrario
>
> Módulo:
> Util.c
>
> Ver también:
> ShellExecute, ShellExecuteEx, WinExec
>
> Te pongo un ejemplo de lo que podrías hacer con esta función:
> Execute("C:ArchivoComprimido.RAR","C:",.T.)
>
> Esto lo que haría es:
> 1º Si Windows tiene asociados los archivos de tipo .RAR a algun programa
> (como por ejemplo WinRar) llamaría a este y abriría automáticamente el
> archivo "ArchivoComprimido.RAR"
> 2º Si windows no conoce este tipo de archivos, no ejecutaría nada y
> retornaría un error de apertura.
>
> Básicamente esto haría lo mismo que si en el explorador de WIndows, te
> situas encima de un archivo .RAR y haces doble click en el. (Suponiendo
> que se llamara a la función en el ejemplo que te muestro arriba).
>
> P.D. Esto no se puede hacer, ShellExecute("winrar") porque:
> - Winrar a secas, no es un ejecutable. Winrar.exe si lo és.
> - Si especificas únicamente 'winrar', supongo que lo buscará en los PATH
> del sistema.
> - Precisamente, lo bueno de esta función no es llamar al programa sino
> directamente AL ARCHIVO QUE QUIERES EJECUTAR y así te ahorras problemas de
> donde está la aplicacion X o la aplicacion Y, pues quizas el usuario no
> utiliza WinRar y utiliza WinZip y ya tu aplicación, no funcionaría. De
> hecho y para salir de problemas, si Execute devuelve error, puedes mostrar
> sugerentemente algo como: "No dispone de la aplicación adecuada para abrir
> los archivos de tipo .RAR" y te libras de problemas.
>
> Espero que te aclares ;-)