Я ищу для создания уникального идентификатора для некоторых встроенных систем, которыми я управляю. В системах работает Windows Embedded 7 Standard и .NET 4.0. Идентификаторы должны:Постоянный идентификатор системы/процессора, который остается на перестановках и изменениях на диске (C#)
- Будьте относительно уникальными - каждая встроенная система работает на одной материнской плате, диске и т. Д., И я не могу столкнуться.
- Устойчив к переустановке - эти компьютеры регулярно обновляются в новых версиях нашего программного обеспечения.
- Нельзя полагаться на серийный номер диска - мы не используем настоящие диски, а CF-карты с адаптером CF to SATA, а CF-карты периодически выгружаются.
Кроме того, у меня есть несколько сетевых адаптеров в машине, поэтому использование внутреннего бортового сетевого адаптера будет работать только в том случае, если кто-то скажет мне, как определить, какая сетевая плата находится на борту через USB-устройство. После дальнейших исследований похоже, что это невозможно в рамках управляемого кода.
Каков наилучший способ для этого?
Согласно http://stackoverflow.com/questions/1101772/win32-processoris-processorid-unique-for-all-computers, «ProcessorId» не уникален для всех ПК. –
Вот почему вам нужно объединить его с UniqueId. В принципе, ProcessorId дает вам модель или набор функций процессора, а UniqueId уникален в данной модели или наборе функций. По-видимому, комбинация обоих, по-видимому, уникальна для разных машин. – CesarGon
UniqueId возвращается как нуль для каждой системы, которую я тестировал. По мнению некоторых Google, это похоже только на Pentium III. –