Xevi,
> Lo que pretendo no es que se pueda abrir mas de una vez, pues el
> ejecutable está en una pc y se accesa desde otros terminales, sinó que lo
> que pretendo es forzar a "cerrar" la aplicación si ésta és la única
> instancia que está corriendo. Lo necesito en un proceso muy concreto, como
> será también el actualizar la versión del ejecutable.
Me temo que eso no es tan simple como puede parecer. Lo más inmediato es
pensar en un timer que dispare cada x segundos un evento donde compruebes
algo que indique que tiene que terminar (p.ej., la existencia de un
determinado fichero). Pero esto, que puede parecer sencillo, se complica
cuando piensas que puede haber un usuario introduciendo datos en ese preciso
momento, y entonces ¿qué haces? ¿lo echas fuera sin más, o lo dejas
terminar? Y si es así, el proceso que pide paso ¿espera indefinidamente o
tiene algún tiempo límite de espera? ¿Y si el usuario se ha ido a tomar café
con un documento a medio meter?
En fin, para estas cosas no hay ninguna regla fija sencillamente porque no
hay una solución universal. En el caso de Xailer, por poner un ejemplo,
cuando las actualizaciones ya están descargadas, simplemente mostramos un
globo, pero es el propio usuario el que tiene que hacer click sobre el icono
para lanzar la instalación. Pero claro, el IDE de Xailer no es una
aplicación de gestión que reside en una unidad de red y que pueden estar
ejecutando varios puestos simultaneamente.
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info