Создаём класс MutEx и запишем в него данный код ниже:
И теперь для проверки нам достаточно сделать так:
Код:
using System.Reflection;
using System.Runtime.InteropServices;
using System.Threading;
internal static class MutEx
{
public static bool InstanceCheck
{
get
{
new Mutex(true, ((GuidAttribute)Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(GuidAttribute), false).GetValue(0)).Value.ToString(), out bool isNew);
return isNew;
}
}
}
И теперь для проверки нам достаточно сделать так:
Код:
// Можно сделать наоборот как хотите ( просто уберите знак ! )
if (!MutEx.InstanceCheck)
{
// Запущена копия? сейчас закроем...
File.AppendAllText("AppEx.txt", "Fatal Error on running\r\n");
Environment.Exit(0);
}
else
{
// Ваш код.
}