Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / Languages / C#

Allow only one instance of a c# application

0.00/5 (No votes)
2 Mar 2010CPOL 1  
This code creates a mutex before starting an application and releases the mutex when the application is closed. A user will only be able to start the application once. This can be used for services as well./// /// The main entry point for the application.///...
MSIL
This code creates a mutex before starting an application and releases the mutex when the application is closed. A user will only be able to start the application once. This can be used for services as well.

/// <summary>

/// The main entry point for the application.

/// </summary>

[STAThread]

public static void Main()

{

bool createdMutex = true;

Mutex mutex = new Mutex(true, "ConfigureApp", out createdMutex);

if (createdMutex && mutex.WaitOne())

{

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);

Application.Run(new MainForm());

mutex.ReleaseMutex();

}

else

{

MessageBox.Show("Only one application instance is allowed.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

}

mutex.Close();

}

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)