- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Windows.Forms;
- using System.Threading;
- namespace MutexClassExample
- {
- static class Program
- {
- static Mutex m;
- /// <summary>
- /// </summary>
- [STAThread]
- static void Main()
- {
- bool first = false;
- m = new Mutex(true, Application.ProductName.ToString(), out first);
- if ((first))
- {
- Application.EnableVisualStyles();
- Application.SetCompatibleTextRenderingDefault(false);
- Application.Run(new Form1());
- m.ReleaseMutex();
- }
- else
- {
- MessageBox.Show("Application" + " " + Application.ProductName.ToString() + " " +"already running");
- }
- }
- }
- }
With this example, we show how to avoid the execution of two processes of the same application. With vb net we can mark the box 'make single-instance' in the properties section of the project application. This option is not available in an application running with C #, and it comes in handy here that the Mutex class.
