Feedback

C# - nur eine Instanz eines Programms zulassen

Veröffentlicht von am 23.06.2006
(5 Bewertungen)
Mit diesem Trick wird verhindert, das man eine Applikation mehr als einmal starten kann.
GFU-Schulungen  [Anzeige]

XML und .NET Überblick

Um auf dem neuesten Wissensstand zu sein, sollten Sie unser aktuelles ASP .NET Komplett Seminar belegen.
Nach dem Seminar kennen Sie die wichtigsten Strömungen in der Software-Technologie

Visual Studio Team Foundation Server 2017/2015 (TFS) für Entwickler - Kompakt

Nach Teilnahme an dieser Schulung kennen Sie alle wesentlichen Funktionen des TFS für Entwickler. Sie setzen Software-Entwicklung mit dem Visual Studio Team Foundation Server erfolgreich um.

/// <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");
}
Abgelegt unter Instanz, einmal, eine, Programmstart.

2 Kommentare zum Snippet

herbivore schrieb am 10.12.2006:
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.
hero4hire schrieb am 13.04.2017:
Außerdem sollte man jeden Mutex nach Gebrauch unbedingt mit "ReleaseMutex()" wieder freigeben.
 

Logge dich ein, um hier zu kommentieren!