Как запретить запуск, более одной копии приложения?

Приветствую всех! Сегодня рассмотрим один пример из того множества как можно запретить использовать более одной копии своего приложения. Для этого воспользуемся примитивом Mutex, для межпроцессорной синхронизации. На первый взгляд все кажется сложным, и не понятным, но сейчас увидите как все просто.

У нас происходит инициализация нового экземпляра класса System.Threading.Mutex логическим значением,  указывающим, должен ли вызывающий поток быть изначальным владельцем мьютекса, а также иметь строку, являющуюся именем мьютекса.

Параметры:
initiallyOwned: Значение true для предоставления вызывающему потоку изначального владения именованным системным мьютексом, если этот мьютекс создан данным вызовом; в противном случае- значение false, именно он у нас и установлен.

name:
Имя System.Threading.Mutex. Если значение равно null, у объекта System.Threading.Mutex нет имени, в нашем случаии MyProg. Стоит давать уникальные имена с id программой, иначе может возникнуть коллизии.

Как видите ничего сложного, всего 3 строчки кода 🙂

Обновлено: 09.07.2018 — 20:06

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.