Comprobar si un programa ya esta en ejecucion

Aracon
11 de Abril del 2006
Hola,

tengo una duda de la que no he encontrado solucion. Quiero que un programa que estoy haciendo tenga la siguiente funcionalidad:

- Si el programa no estaba ya en ejecucion, carga los parametros y se ejecuta
- Si ya existia una instancia del programa en ejecucion, se comunica con esta, le da las ordenes, y la instancia actual cierra.

Me surgen 2 dudas que no puedo resolver:
- Como compruebo si el programa ya esta en ejecucion?
- Como me comunico con un programa ya en ejecucion? Tengo la opcion "facil" de usar ficheros, pero existe otra mas "elegante"?

Gracias anticipadas por su ayuda.

mak
11 de Abril del 2006
Yo utilizaría sockets. Que la aplicación este escuchando en un puerto determinado, y a la hora de inicializar compruebe si hay uno escuchando. Si la hay, se pueden comunicar entre ellas y hacer lo que quieras.

Cruces
11 de Abril del 2006
¿Has oido hablar de las clases Singleton? Podrias probar con una a ver que tal va. Yo no he probado nunca hacer un Singleton en una clase principal