Моя программа защищена аппаратным USB токен, и я хочу добиться:Windows, блокировка USB-порт для каждого пользователя в C++
- Пользователь должен иметь возможность запускать столько экземпляров программного обеспечения, как он любит
- Второй пользователь на том же компьютере не должен запускать приложение, если первый пользователь уже запускает программное обеспечение.
Так что, если первый пользователь запускает программное обеспечение, я хотел бы заблокировать порт USB, так что только этот пользователь сможет получить к нему доступ. Программное обеспечение написано на C++ и работает в Windows> 7 или Windows Server> 2008
Любые идеи?
Я не думаю, что вы можете сделать это в окнах. Или даже Linux без доступа root. Вы можете использовать пару [глобальных мьютексов] (https://msdn.microsoft.com/en-us/library/windows/desktop/ms686931 (v = vs.85) .aspx), чтобы делать то, что вы просите. Один из них, названный «MySoft», указывает на то, что работает другой экземпляр; другой, названный «MySoft.username», указывает, что он принадлежит этому пользователю (поэтому вполне нормально создавать больше экземпляров). –
В качестве альтернативы, токен USB может быть спроектирован так, чтобы быть «заявленным» конкретным пользователем (SID), дополнительные запросы того же пользователя будут успешными, в то время как другие пользователи потерпят неудачу. –
Проблема с сохранением идентификатора пользователя на токене USB - это то, что остается, когда программное обеспечение выходит из строя. Тогда токен будет недействительным :( – choosyg