Mit diesem Code wird verhindert man, das eine Applikation mehr als einmal innerhalb einer Session (Anmeldung) ausgeführt werden kann:
Alles anzeigen
Die AppGuid sollte natürlich eine eindeutig "Id" für das Programm sein. Am besten erzeugt man dafür eine Guid.
Soll die Anwendung in allen Sessions nur einmal ausgeführt werden können, muss man den Mutex in den global Namespace schreiben:
Alles anzeigen
Quellcode
- private const string AppGuid = "97E652FF-73A5-3ED6-A4E5-DA2AF2132C98";
- [STAThread] private static void Main()
- {
- using (Mutex progMutex = new Mutex(false, AppGuid))
- {
- if (!progMutex.WaitOne(0, false))
- {
- MessageBox.Show("Dieses Programm ist bereits geöffnet");
- return;
- }
- Application.Run(new Form1());
- }
- }
Die AppGuid sollte natürlich eine eindeutig "Id" für das Programm sein. Am besten erzeugt man dafür eine Guid.
Soll die Anwendung in allen Sessions nur einmal ausgeführt werden können, muss man den Mutex in den global Namespace schreiben:
Quellcode
- private const string AppGuid = "97E652FF-73A5-3ED6-A4E5-DA2AF2132C98";
- [STAThread] private static void Main()
- {
- using (Mutex progMutex = new Mutex(false, @"Global\" + AppGuid))
- {
- if (!progMutex.WaitOne(0, false))
- {
- MessageBox.Show("Dieses Programm ist bereits geöffnet");
- return;
- }
- Application.Run(new Form1());
- }
- }
9.968 mal gelesen