Как насчет использования серийного номера жесткого диска, на котором установлены окна?
Функция GetVolumeInformation () выдаст вам такой серийный номер.Чтобы получить доступ к идентификатору, назначенному производителем жесткого диска, вместо идентификатора, назначенного Windows, вы можете использовать класс Win32_PhysicalMedia.
Чтобы определить диск, на котором установлены окна, вы можете расширить переменную% windir, используяfunction ExpandEnvironmentStrings ()
Другой вариант, если ваша архитектура позволяет, это использовать UuidCreate () для генерации случайного GUID во время установки и постоянного его сохранения в реестре. Этот GUID может затем использоваться в качестве идентификатора в качествеДо тех пор, пока реестр остается. Новая база данных реестра обычно рассматривается как новая установка.
Третий вариант заключается в том, чтобы известный сервер назначал идентификаторы. После запуска программное обеспечение может искатьИдентификатор в реестре и, если он не найден, свяжется с сервером и предоставит ему свой MAC-адрес, имя хоста, серийный номер жесткого диска, SID компьютера и любое количество идентифицируемой информации (ключей).
Затем сервер определяет,клиент уже зарегистрирован или нетна основании предоставленной информации.Сервер может иметь непринужденную политику и, например, требовать только большинство ключей для совпадения, чтобы механизм работал даже в случае полного стирания реестра и если часть (но не все) оборудования былазаменен.