Añado algo más al asunto anteriormente expuesto :
La aplicación principal, que se inicia por cada usuario (incluidos los usuarios que utilizan escritorio remoto), hace un chequeo periódico para ver si el programa que se tiene que ejecutar al principio está activo o no. Si no lo estuviera, o estuviera 'colgado' (... cosas que pasan), comprueba si el programa está activo (en el caso de que esté colgado) en la máquina actual, manda un TaskKill (mediante TerminateProcess), y vuelve a ejecutar de nuevo el programa con un ShellExecute.
Cómo podría compaginar la comprobación y nuevo 'lanzamiento' si los usuarios son usuarios de escritorio remoto, es decir, como podría un usuario de escritorio remoto realizar un TaskKill del programa que se ejecutó al iniciar la máquina, y volver a relanzar el programa 'fuera' de esa sesión remota, en el 'hilo principal'.
__________________
Piensa siempre en positivo !
|