Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Threading;
- namespace Receta.CSharp.R0417
- {
- public class UnicaInstanciaAplicacion
- {
- public static void Main()
- {
- // Valor centinela (o bandera) para indicar si esta
- // aplicación ya cuenta con una instancia:
- bool appEnEjecucion;
- // Mutex para tomar el control de la ejecución de esta
- // aplicación por una única instancia:
- using (Mutex mutex = new Mutex(true, "UnicaInstancia", out appEnEjecucion))
- {
- // Determina si esta aplicación posee el control de ejecución:
- if (appEnEjecucion)
- {
- Console.WriteLine("\nÚnica instancia de `UnicaInstancia` en ejecución. " +
- "\n\tPara finalizarla debe presionar la tecla Enter.");
- Console.ReadLine();
- // Libera la ejecución de esta instancia:
- mutex.ReleaseMutex();
- }
- else // La aplicación se haya en ejecución,
- // el intento de esta nueva terminará por finalizar:
- {
- Console.WriteLine("\nOtra instancia de la aplicación está en ejecución." +
- "Esta instancia finalizará.");
- }
- }
- // A espera de continuar:
- Console.WriteLine("\nEl método `Main` ha finalizado. Presione Enter para continuar.");
- Console.ReadLine();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement