1static void Main()
2{
3 bool bCreatedNew = false;
4
5 // Multiplexer erzeugen der überprüft ob die Applikation gestartet wurde. Der out Parameter
6 // wird nur beim ERSTEN erfolgreichen Start gesetzt.
7
8 Mutex mtxApp = new System.Threading.Mutex(true, Application.ProductName, out bCreatedNew);
9 // Wenn die Erzeugung erfolgreich war.
10 if (bCreatedNew)
11 {
12 Application.Run(new FMAIN());
13 // Mutex wieder freigeben
14 mtxApp.ReleaseMutex();
15 }
16 else
17 {
18 string msg = String.Format("Das Programm \"{0}\" wurde bereits gestartet!", Application.ProductName);
19 MessageBox.Show(msg, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Information);
20 }
21}