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

标签 c# windows windows-7

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

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

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

完成此任务的最佳方法是什么?

最佳答案

我建议你使用 WMI获取有关机器 CPU 的信息,使用 Win32_Processor类(class)。然后,您可以根据 ProcessorIdUniqueId 等属性为机器构造一个唯一 ID。

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

关于c# - 在重新安装和驱动器更改期间保持不变的持久系统/处理器 ID (C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3881858/

相关文章:

c# - 将 C++ 结构转换为 C#

c# - Switch Cell 代码中的 Xamarin.Forms DataBinding

c - 如何区分16位MZ和32位MZ

c++ - 禁用任何退出软件的可能性?

c# - 通过反射将对象附加到 IEnumerable<>

c# - 正则表达式查找 css 引用

c - 如何使用 C 从 Windows 中的文件句柄获取文件名?

windows - 如何检查 OpenCV 是否使用 TBB、CUDA 或 Qt 支持进行编译?

c# - 在 C# 中在 Windows 7 上注册 dll

windows-7 - 围绕 Windows UAC 限制进行设计的正确方法?