Ver la Versión Completa : ejemplos de ShellExecute y winexec ejecutando aplicaciones con parametros
:confused:
Que tal a todos, hay ocaciones en las que requiero ejecutar una aplicacion mandandole parámetros desde delphi, pero no me funciona lo he intentado hacer con ShellExecute y winexec, si me funciona cuando solo tengo que ejecutar la aplicación sin enviarle parámetros. Alguien me puede mandar ejemplos se lo agradecería mucho. Saludos.
seoane
05-05-2007, 00:23:29
:confused: ¿Como lo estas intentando? Pon un ejemplo
así:
la instrucción en el dos es:
C:\otter <socrates.in> sali.out
otter es la aplicación y el resto los parametros que son los nombres de dos archivos uno de entrada y otro de salida, lo he intentado así:
ShellExecute(Form1.Handle, nil, 'c:\otter', '<socrates.in>sali.out', 'c:\', SW_SHOWNORMAL);
y
winexec('C:\otter <socrates.in> sali.out',1);
seoane
05-05-2007, 00:53:26
Vamos por partes, tu no le estas pasando parámetros al programa, lo que estas indicando con < y > al interprete de comando es que redirija la entrada y la salida del ejecutable a unos ficheros. Dado que < y > son comando propios del interprete de comandos y no del ejecutable, es el interprete de comando el que debe procesarlos.
Tienes 2 soluciones redireccionar la entrada y la salida tu mismo, o ejecutar el programa a través del interprete de comandos. La primera opción es bastante compleja, la segunda sin embargo es bastante sencilla:
ShellExecute(Form1.Handle, nil, 'cmd.exe', '/c otter < socrates.in >sali.out', 'c:\', SW_SHOWNORMAL);
Aunque como ya te recomendé en otro hilo, tambien puedes usar el truco 54 (http://www.clubdelphi.com/trucos/index.php?id=54)
Muchisimas Gracias Seoane, si me funciono a la perfeción tu solución. :)
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.