Advertisement
Fhernd

UnicaInstanciaAplicacion.cs

Jul 4th, 2015
1,447
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.66 KB | None | 0 0
  1. using System;
  2. using System.Threading;
  3.  
  4. namespace Receta.CSharp.R0417
  5. {
  6.     public class UnicaInstanciaAplicacion
  7.     {
  8.         public static void Main()
  9.         {
  10.             // Valor centinela (o bandera) para indicar si esta
  11.             // aplicación ya cuenta con una instancia:
  12.             bool appEnEjecucion;
  13.            
  14.             // Mutex para tomar el control de la ejecución de esta
  15.             // aplicación por una única instancia:
  16.             using (Mutex mutex = new Mutex(true, "UnicaInstancia", out appEnEjecucion))
  17.             {
  18.                 // Determina si esta aplicación posee el control de ejecución:
  19.                 if (appEnEjecucion)
  20.                 {
  21.                     Console.WriteLine("\nÚnica instancia de `UnicaInstancia` en ejecución. " +
  22.                                       "\n\tPara finalizarla debe presionar la tecla Enter.");
  23.                                      
  24.                     Console.ReadLine();
  25.                    
  26.                     // Libera la ejecución de esta instancia:
  27.                     mutex.ReleaseMutex();
  28.                 }
  29.                 else // La aplicación se haya en ejecución,
  30.                 // el intento de esta nueva terminará por finalizar:
  31.                 {
  32.                     Console.WriteLine("\nOtra instancia de la aplicación está en ejecución." +
  33.                                       "Esta instancia finalizará.");
  34.                 }
  35.             }
  36.            
  37.             // A espera de continuar:
  38.             Console.WriteLine("\nEl método `Main` ha finalizado. Presione Enter para continuar.");
  39.             Console.ReadLine();
  40.         }
  41.     }
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement