Feedback

nur eine Instanz eines Programms zulassen

Sprache: C#

Mit diesem Trick wird verhindert, das man eine Applikation mehr als einmal starten kann.
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main() 
{
  System.Threading.Mutex Mu = new System.Threading.Mutex(false, "{86E6517F-71A5-4ea6-A4E6-DA3AF2932C97}");  
  if(Mu.WaitOne(0, false)) 
    Application.Run(new Form1());
  else
    MessageBox.Show("Dieses Programm ist bereits geöffnet");
}
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main() 
{
  System.Threading.Mutex Mu = new System.Threading.Mutex(false, "{86E6517F-71A5-4ea6-A4E6-DA3AF2932C97}");  
  if(Mu.WaitOne(0, false)) 
    Application.Run(new Form1());
  else
    MessageBox.Show("Dieses Programm ist bereits geöffnet");
}

2 Kommentare

  1. Für jedes Programm, von dem man nur eine Instanz zulassendas will, musst man einen neuen eindeutigen Namen (hier: „{86E6517F-71A5-4ea6-A4E6-DA3AF2932C97}“) für die Mutex wählen. Unterschiedliche Programme, die denselben Namen verwenden, würden sich gleichzeitig aussperren.