在重新安装和驱动器更改期间保持不变的系统/处理器ID(C#)

时间:2010-10-07 12:58:42

标签: c# windows windows-7

我希望为我管理的某些嵌入式系统生成一个唯一的ID。这些系统运行的是Windows Embedded 7 Standard和.NET 4.0。 ID必须:

  • 相对独特 - 每个嵌入式系统都在同一主板,驱动器等上运行,我不会发生碰撞。
  • 坚持重新安装 - 这些计算机会定期使用我们软件的新版本重新映像。
  • 不能依赖磁盘序列号 - 我们不使用真正的磁盘,而是使用带有CF转SATA适配器的CF卡,偶尔换掉CF卡。

此外,我在机器中有多个NIC,因此只有当有人可以告诉我如何识别板载哪个NIC而不是USB设备时,依赖板载NIC MAC地址才有效。经过进一步研究后,在托管代码范围内,这似乎是不可能的。

实现这一目标的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

我建议您使用WMI使用Win32_Processor类来获取有关计算机CPU的信息。然后,您可以使用ProcessorIdUniqueId等属性为机器构建唯一ID。

这样您就可以将每台机器的CPU本身用作机器ID的持久“存储”。