You've built an application and would like it
to run a single instance. Here comes Mutex to the rescue! To do that you have to
create a Mutex object at startup and when its over release it.
First add System.Threading namespace:
using
System.Threading;
Then create a boolean variable and a Mutex object to control if Mutex is owned
by application
bool
isMutexOwned;
Mutex mut =
null;
Then create a Mutex instance and control this Mutex via isMutexOwned boolean
var.
using(Mutex
mut=new Mutex(true,"My
Mutex",out isMutexOwned))
{
if(isMutexOwned)
{
//Do Something...Mutex is owned by the
application
}
else
{
//Mutex isnt owned.So other instances
can run.
}
}
public
void ReleaseMut()
{
mut.ReleaseMutex();
}
Add a Button Click event and raise ReleaseMut function. See what happens.
After that another instance of application will now run.