Feedback

C# - wpf single instance mutex

Veröffentlicht von am 20.05.2017
(0 Bewertungen)
Verhindern, dass ein WPF-Programm mehrmals gleichzeitig gestartet werden kann.

Das Erstellen und Abfragen des Mutex wird in der Datei App.xaml.cs umgesetzt. Dort einfach die Methode OnStartup() überschreiben. Diese Methode wird beim Programmstart als erstes ausgeführt. Darin erstellt ihr dann den Mutex mit einem eindeutigen! Namen. Die GUID bietet sich hier an. Wird eine bereits laufende Instanz erkannt, beendet sich die Anwendung in diesem Snippet (Meldung durch Messagebox). Alternativ könnt ihr auch den Focus auf die laufende Instanz setzen (kein Beispiel dazu in diesem Snippet).
GFU-Schulungen  [Anzeige]

VB.NET Komplett

Sie stehen vo der Aufgabe, individuelle Anwendungen für Windows zu schreiben. Hier ist VB.NET die optimale Sprache. Sie erlernt sich recht leicht und passt sich komplett in die .NET Umgebung von Microsoft ein. Nach der Schulung entwickeln Sie anwenderfreundliche Programme in VB.NET . Mit den objektorientierten Modellen in VB.NET erzeugen Sie außerdem wiederverwendbare Komponenten.

Visual Studio Team Foundation Server 2017/2015 (TFS) - Komplett 

    /// <summary>
    /// Interaktionslogik für "App.xaml"
    /// </summary>
    public partial class App : Application
    {
        protected override void OnStartup(StartupEventArgs e)
        {
            //Mutex mit eindeutigem Namen (bspw. GUID)
            Mutex mutex = new Mutex(true, "cbb99b16-cc52-47b1-b734-c0f4900ee23c");
            
            //Prüfung, ob Mutex schon länger aktiv ist..
            if (mutex.WaitOne(TimeSpan.Zero, true))
            {
                //Mutex ist gerade gestartet..
                base.OnStartup(e);
            }
            else
            {
                //Mutex läuft bereits längere Zeit..
                MessageBox.Show("Anwendung läuft bereits!");
                //Anwendung beenden
                Environment.Exit(0);
            }
            
        }
    }
Abgelegt unter wpf, mutex, c#, singleinstance.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!