C# Запрещаем запуск копии программы через Автогенерацию Mutex

r3xq1

Проверенный
Проверенный
r3xq1

r3xq1

Проверенный
Проверенный
Сообщения
53
Реакции
29
Но лучше всего использовать данный вариант снизу

C#:
using System.Reflection;
using System.Runtime.InteropServices;
using System.Threading;

public class RunCheck
{
   private static Mutex InstanceCheckMutex; // Обязательно!
   public static bool InstanceCheck()
   {
      Assembly assembly = typeof(Program).Assembly;
      var attribute = (GuidAttribute)assembly.GetCustomAttributes(typeof(GuidAttribute), true)[0];
      string id = attribute.Value;
      InstanceCheckMutex = new Mutex(true, id, out bool isNew); return isNew;
   }
}
Использовать его можно так:
C#:
 if (RunCheck.InstanceCheck())
{
    // Ваш код...
}
else
{
    Environment.Exit(0);
}
 

Сверху Снизу