Хорошо, это аналогичный вопрос этот.
На самом деле я пытаюсь prevent
люди с нескольких входов на один компьютер и одновременно используют мое приложение.
Это потому, что я хочу запретить им покупать одну лицензию, устанавливать ее на машину и использовать определенные технологии удаленного рабочего стола для входа в систему с несколькими пользователями. Я хочу, чтобы они не нарушали лицензионное соглашение.
Могу ли я сделать это в своем заявлении? Или множественный вход одновременно просто невозможен?
Если вы хотите, чтобы ваше приложение «ломало» любую многопользовательскую функциональность на компьютере, на котором оно установлено, удачи в этом! Если вам это удастся, сообщите мне название вашего приложения, чтобы я мог добавить его в свой список «Программное обеспечение, которого следует избегать любой ценой».
Если вы хотите ограничить использование, возможно, вам стоит взглянуть на изготовление ваше приложение многопользовательское и использует USB ключ для обеспечения количества пользователей / лицензий.
Однако, применяя эти меры, вы просто создаете поводы для людей не использовать ваше программное обеспечение.
Эта проблема должна быть решена на уровне вашего приложения, в коде лицензирования.
Мы используем программное обеспечение, специально разработанное для использования на сервере терминалов, которое точно подсчитывает количество запущенных экземпляров. Раньше он использовал компанию под названием FlexLM однако теперь у них есть более современный метод отслеживания одновременных пользователей.
Я настоятельно рекомендую спросить у Переполнение стека о том, как управлять одновременным лицензированием пользователей, как искать несколько сеансов и т. д.
Одна законная причина для ограничения одновременного входа в систему состоит в том, чтобы помешать данному пользователю открывать несколько подключений к вашему серверу и потреблять ненужные ресурсы и лицензии.
В Citrix есть настройка для этого.
Другими словами, зачем позволять пользователю открывать несколько рабочих столов с текстовым процессором на одном, почтовым клиентом на другом и веб-браузером на третьем?
Могу ли я сделать это в своем заявлении?
Это говорит мне, что вы смотрите на это с точки зрения разработчика. Таким образом, я думаю, вам следует передать это в Stack Overflow.
Если вы действительно хотите знать, как остановить это на уровне приложения, вам нужно потратить некоторое время на изучение задействованных технологий. Если вы не понимаете платформу, вы не можете контролировать использование приложения.
Распространенной тактикой программирования с использованием одного экземпляра является открытие порта на компьютере для самой программы. Если программа уже запущена, порт будет использоваться.
Однако у вас, вероятно, будут лучшие ответы на Stack Overflow.