// Programm.cs editieren
static class Program
{
/// <summary>
/// Der Haupteinstiegspunkt für die Anwendung.
/// </summary>
[STAThread]
static void Main()
{
bool bNewMutex = false;
// Mutex erzeugen, Mutexname = Test1
System.Threading.Mutex mutex = new System.Threading.Mutex(true, "Test1", out bNewMutex);
// wenn ein neuer Mutex erzeugt wurde,
// dann wurde die Anwendung noch nicht
// im System gestartet
if (bNewMutex)
{
try
{
// Anwendung initialisieren und ausführen
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new frmMain());
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
Console.WriteLine(ex.StackTrace);
}
finally
{
// beim Beenden den Mutex wieder zerstören
mutex.ReleaseMutex();
}
}
else
{
// falls der Mutex nicht angelegt werden konnte, dann läuft die Anwendung bereits
MessageBox.Show("Die Anwendung läuft bereits.", "Hinweis", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
}