Мое приложение вынуждено использовать сторонний модуль, который будет синим экраном Windows, если одновременно запускаются два экземпляра на одном компьютере. Чтобы обойти эту проблему, мое приложение С# имеет мьютекс:
static Mutex mutex = new Mutex(true, "{MyApp_b9d19f99-b83e-4755-9b11-d204dbd6d096}");
И я проверяю, присутствует ли он - и если это так, я покажу сообщение об ошибке и закрою приложение:
bool IsAnotherInstanceRunning()
{
if (mutex.WaitOne(TimeSpan.Zero, true))
return (true);
else
return (false);
}
Проблема заключается в том, что два пользователя могут одновременно войти в систему и открыть приложение, а IsAnotherInstanceRunning() вернет false.
Как мне обойти это?