Página 1 de 1

Comando RUN

Publicado: Sab Jul 29, 2017 7:13 pm
por ddupre
Hola foro,

No se si coresponde realizar esta consulta aquí, pero el que no pregunta....

Antes de molestar, he bustado en todo el foro si alguien había planteado esto, pero desafortunadamente no encontré nada.

Necesito utilizar el comando RUN para ejecutar una aplicación externa y me sucede que si bien, la aplicación se ejecuta correctamente, también se abre una ventana CMD bastante molesta. ¿Es posible hacer que dicha ventana no se abra?

Desde ya muchas gracias por toda ayuda.

Saludos
Daniel

Re: Comando RUN

Publicado: Dom Jul 30, 2017 12:39 pm
por ignacio
Buenos días,

Si es posible evitar la ventana utilizando la bandera SW_HIDE

FUNCTION EXECUTE

Parameters:
<cFile>
File to execute
[<cDir>]
Starting directory. If empty, it uses the application root directory. If there is not path on 'cFile' it uses Application:CurDir
[<lWait>]

If it is .T. the application will wait until the process ends. By default .F.
[<nShowMode>]
External process show mode:
· SW_HIDE
· SW_SHOWNORMAL
· SW_SHOWMINIMIZED
· SW_SHOWMAXIMIZED

Re: Comando RUN

Publicado: Lun Jul 31, 2017 4:32 pm
por ddupre
Ignacio,
muchas gracias por responder,
He probado todas las formas del la función EXECUTE (en cuanto al parámetro nShowMode) y siempre me sucede lo mismo y es que el programa que lanzo queda como proceso en vez de como aplicación.

Viendo la documentación de Xailer hice pruebas con ShellExecute y WinExec y me pasa lo mismo (queda como proceso)

Seguí buscando solucones y lo único que sí funcionó fue utilizar wapi_shellexecute, pero lamenteblemete carece del parámetro lWait (que sí dispone EXECUTE), el cual me resultaba muy útil.

las pruebas las hice con este código:

cComando := "notepad.exe"
execute(cComando,,.T.,"SW_SHOWMAXIMIZED")

No se a qué se debe que quede como proceso, tal vez ud. me pueda indicar si estoy haciendo algo mal.

Saludos
Daniel