Я хочу создать программу для ее активации с уникальным идентификатором. Таким образом, я получаю MAC-адрес для серийного номера программного обеспечения, но на некоторых компьютерах Mac изменяется при перезагрузке компьютера. Итак, я снова должен установить серийный номер, чтобы активировать программное обеспечение.
Что вы предлагаете использовать для серийного номера на C #?
Ответ 1 · Scott Chamberlain
Не существует универсального идентификатора оборудования, который работает, Intel пыталась предоставить один в своих Pentium III с серийным номером процессора, но был большой спор по этому поводу, и он был удален из более поздних моделей и не существовал в последующих поколениях.
Есть определенные идентификаторы оборудования, которые вы можете прочитать, но не существует стандартизованного способа сделать это. См. Связанный вопрос "Какой хороший способ однозначно идентифицировать компьютер? ? "для некоторых возможных вариантов.
Вариант, который я делаю, когда мне нужно это сделать, - использовать серийный номер Windows, который должен быть уникальным для каждой машины, даже для клонированных машин (из-за того, что он изменяется во время процесса sysprep), если только они не нарушают лицензирование Microsoft и клонирование без syspreping .
Это можно получить через WMI.
var s = new ManagementObjectSearcher("SELECT SerialNumber FROM Win32_OperatingSystem");
var obj = s.Get().Cast<ManagementObject>().First();
var serial = obj["SerialNumber"].ToString();