Necesito ayuda con la instrucción SHELL
Tengo el siguiente problema :
Ejecuto un XCOPY desde mi aplicación de la siguiente manera
Dim zcff
strShell = "xcopy C:HSC*.* C:HSC2 /v /f /d /s /e /k /-y"
zcff = Shell(strShell, vbHide)
Estas instrucciones se ejecutan mediante un control Timer cada intervalo de 20 segundos.
Mi problema es que al ejecutar el archivo .EXE, me aparece cada 20 segs. una nueva pantalla, a parte de la que ya está abierta... de tal forma que se llena de ventanas mi sistema...
Si pudieran ayudarme les agradecería muchísimo...
Saludos...
Ejecuto un XCOPY desde mi aplicación de la siguiente manera
Dim zcff
strShell = "xcopy C:HSC*.* C:HSC2 /v /f /d /s /e /k /-y"
zcff = Shell(strShell, vbHide)
Estas instrucciones se ejecutan mediante un control Timer cada intervalo de 20 segundos.
Mi problema es que al ejecutar el archivo .EXE, me aparece cada 20 segs. una nueva pantalla, a parte de la que ya está abierta... de tal forma que se llena de ventanas mi sistema...
Si pudieran ayudarme les agradecería muchísimo...
Saludos...
Antes que nada, saludos.
Lo que vas a necesitar, es que el shell sea síncrono, es decir, que hasta que no termine la ejecución del programa externo no retorne al código de tu programa.
Lo otro, para asegurarse, es matar el proceso o ventana que te queda cuando el XCOPY termina.
Para eso, necesitarás captirar el Id de proceso del Shell y usar ese valor con la API TerminateProcess
Hay ejemplos de esto en estos sitios
http://www.vb-helper.com/
http://www.elguille.info/indice.asp
Espero que te sirva
Lo que vas a necesitar, es que el shell sea síncrono, es decir, que hasta que no termine la ejecución del programa externo no retorne al código de tu programa.
Lo otro, para asegurarse, es matar el proceso o ventana que te queda cuando el XCOPY termina.
Para eso, necesitarás captirar el Id de proceso del Shell y usar ese valor con la API TerminateProcess
Hay ejemplos de esto en estos sitios
http://www.vb-helper.com/
http://www.elguille.info/indice.asp
Espero que te sirva
