Necesito ayuda con la instrucción SHELL

H?or Sep?da C
20 de Agosto del 2004
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...

mvallejos
20 de Agosto del 2004
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