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

Тема в разделе "Программирование", создана пользователем Antlion, 27 июн 2019.

  1. Antlion

    Antlion New Member

    Сообщения:
    14
    Симпатии:
    0
    Создаём класс 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
    );
    Environment.Exit(0);
    }
    else
    {
    // Ваш код.
    }

Поделиться этой страницей