\C#
Single Instance App.cs
/* Santomieri Systems How to create an application that only alows one copy to be running at a time (single instance application) using C# (CSharp). Date: 2007-10-06 */ static class Program { ////// The main entry point for the application. /// [STAThread] static void Main(string[] args) { bool bNew = false; string mutexName = "Local\\" + System.Reflection.Assembly.GetExecutingAssembly().GetName().Name; System.Threading.Mutex mut = null; try { // Try and create a new named mutex mut = new System.Threading.Mutex(true, mutexName, out bNew); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (!bNew) { // Application is already running, so close. return; } Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(New Form1()); mut.Close(); // Close the Mutex after the program terminates } }