Ver Mensaje Individual
  #9  
Antiguo 03-02-2020
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Reputación: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
A ver si entiendo. Quieres tapar lo que hace frontend hasta que termine. Luego quieres destapar pero más tarde frontend volverá a actuar y lo querrás volver a tapar. ¿Es así?
Eso implica que el programa tapador o no se cierra o requiere que le digan que tape. ¿Eso lo hace frontend?


No es complicado establecer un sistema de comunicación usando archivos de memoria compartida. Imagina este escenario:
Una App se ejecuta con unos parámetros en la linea de comandos y hace determinada cosa. Otra aplicación o el mismo usuario quiere pasarle más parametros pero sin cerrar la app. Para ello abre otra instancia de la app con los nuevos parámetros. Esta nueva instancia al empezar detecta que ya estaba corriendo otra copia, entonces lo que hace es abrir un archivo de memoria compartida, copia la línea de comandos en él y envía un mensaje a la primera instancia que le díce "¡Oye!, que te he mandado unas cosas". Este mensaje es un mensaje de Windows con PostMessage. La Primara instancia recibe el mensaje y lee el archivo de memoria compartida con toda la linea de parárametros y actúa en consecuencia. Mientras, la segunda instancia se autodestruye y jamás se ejecutará en su plenitud. Ambas instancias son de un mismo ejecutable, son lo mismo, pero actúan según si ya existía una previa.


Hay otras formas de comunicación pero ésta es sencilla desde el punto de vista del usuario pues para pasar parámetros siempre usa la misma forma, abrir la app y pasar los parámetros. el resto es automático.


Si esto te sugiere una solución puedes seguir adelante. Aquí publiqué una clase que crea un archivo de memoria compartida.




Saludos.
Responder Con Cita