Когда приложение запускается, оно отправляет широковещательную UDP-рассылку на определенный порт. Это будет ограничено локальной подсетью и может не пройти через брандмауэры. Это "кто-нибудь еще работает, или я могу начать?" запрос.
Если ответов нет, приложение запускается в обычном режиме, прослушивая эту передачу UDP. Если он его видит, он отвечает пакетом «Я уже запущен; вы не можете запустить».
Приложение, которое только что запустилось, получает этот ответный пакет и затем отказывается запускаться или (если вы не хотите быть таким строгим) отображает предупреждение пользователю.
Вы хотите включить идентификатор продукта и лицензионный ключ (или хеш) в первоначальный запрос, чтобы в одной сети можно было иметь более одной лицензии. В ответе, вероятно, нужно указать имя компьютера, чтобы второй пользователь мог найти первого пользователя и спросить, действительно ли ему нужно использовать приложение.