private static bool IsAlreadyRunning()
{
var name = new FileInfo(Assembly.GetExecutingAssembly().Location).Name;
_mutex = new Mutex(true, "Global\\" + name);
try
{
return !_mutex.WaitOne(0, false);
}
catch (AbandonedMutexException)
{
_mutex.ReleaseMutex();
return !_mutex.WaitOne(0, false);
}
}