Hola a todos.
Tengo una aplicación (aplicación 1), que en un proceso nocturno y desatendido, tiene que ejecutar otra (aplicación 2) para hacer unos procesos de mantenimiento.
Mi problema es que ambas aplicaciones están en el servidor y en la misma carpeta y este normalmente está con el salvapantallas protegido por contraseña, y hasta que no se quita el salvapantallas la aplicación 2 no se ejecuta.
El proceso es mas o menos así:
nhandle := fcreate('CIERRE.XXX') //Se crea el fichero para emitir la orden de cierre de la aplicación 2
fclose(nhandle)
MsgWait('Cerrando Aplicacion 2 en todos los terminales','Proceso de mantenimiento',300) //Se espera 5 minutos de margen para que la Aplicación 2 se cierre, aunque se cierra en 3 minutos a partir de la creación del fichero CIERRE.XXX
winexec('APLICACION2 PRONOCTU')
Tal y como está escrito, cuando quito el salvapantallas, lleve el tiempo que lleve el mismo, me encuentro con el MsgWait en pantalla que desaparece tras cinco minutos de haber quitado el salvapantallas. Es como si el tiempo no contase cuando está el salvapantallas. Bien eso lo puedo solucionar con un Mensage NOWAIT y un bucle de espera.
Mi problema es que pasa lo mismo con el winexec(), que hasta que no quito el salvapantallas no se ejecuta. He probado con Waitrun() y con ShellExecute() y pasa lo mismo. Si no tengo puesto el salvapantallas la aplicación 2 se ejecuta correctamente y ella sola se cierra tras realizar los procesos.
¿ Hay alguna manera de lanzar una aplicación desde otra y que se ejecute aunque esté el salvapantallas ?
Espero haberme explicado, Saludos