Laden...

Der Anwendung nur einmal Starten lassen in wpf

Erstellt von MMazi vor 3 Jahren Letzter Beitrag vor 3 Jahren 808 Views
M
MMazi Themenstarter:in
45 Beiträge seit 2020
vor 3 Jahren
Der Anwendung nur einmal Starten lassen in wpf

Hallo zusammen

Ich habe in meiner Anwendung die ich geschrieben habe diese Code in App.Xaml.cs hinzugefügt um ihn nur einmal Starten lassen leider Erfolglos.
habt Ihr eine andere Lösung o. was mache ich hier Falsch?

Danke für die Antworten


using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Threading.Tasks;
using System.Threading;
using System.Windows;



namespace TimeRecorderPro
{
    /// <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, "77aca664-ba25-4964-bc05-d7ba57030720");

            //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);
            }

        }
    }
}

16.835 Beiträge seit 2008
vor 3 Jahren

Ja, Deine Mutex implementierung ist falsch; siehst auch in Mutex Doku.
Alternativ korrekte Implementierung hier: Single Instance Application mit WPF und C#

ist auch super einfach über die Forensuche zu finden.

M
MMazi Themenstarter:in
45 Beiträge seit 2020
vor 3 Jahren

danke dir
in Mutex Doku sind Stellen wie :

 Console.WriteLine("{0} has released the mutex", 
                             Thread.CurrentThread.Name);

wie kann ich in einer Anwendung , der in WPF läuft Console.WriteLine reinbringen?

16.835 Beiträge seit 2008
vor 3 Jahren

Die Doku zeigt das Beispielhafte verhalten.
Du bist nicht gezwungen in die Konsole zu schreiben, wenn Du das in einer WPF Anwendung nicht kannst.

M
MMazi Themenstarter:in
45 Beiträge seit 2020
vor 3 Jahren

Dankeschön. merke ich mir