【问题标题】:Windows WMI -- find a unique identifier for each hardware component?Windows WMI——为每个硬件组件找到一个唯一标识符?
【发布时间】:2012-03-24 18:43:00
【问题描述】:

我目前正在编写一个检索计算机硬件信息的应用程序。

我需要每个硬件组件的某种唯一标识符,例如 UID 或 S/N。我几乎可以在每个组件中看到这个“DeviceID”成员(继承自CIM_LogicalDevice),它说:

“用于唯一命名逻辑设备的地址或其他识别信息。”

听起来不错!这是否意味着它对于特定的计算机是独一无二的?还是“世界上所有计算机”都是独一无二的(这是我需要的)。

谢谢!

【问题讨论】:

  • 该机器和设置是独一无二的。有些设备有一个序列号,您可以查询,但它远非大多数。
  • @Deanna 对那台机器来说是唯一的,你的意思是两台不同的计算机对于特定组件不能具有相同的 DeviceID。或者您的意思是它仅在该特定机器中是唯一的,并且它可以在其他计算机上具有相同的 DeviceID?是的,我知道某些设备上的 S/N(我已经在使用它们),但我也在为所有其他设备寻找一个唯一的名称。
  • 另外,如果你重新安装你的电脑操作系统,它会一直存在吗?
  • 只在那台机器上是一样的。其他设备在其他机器上可能具有相同的 ID,而同一设备在其他机器上可能具有不同的设备 ID。在重新安装时,它实际上是一台新机器,因此可能(或可能不)再次具有相同的设备 ID。

标签: windows winapi wmi hardware unique


【解决方案1】:

事实证明,这并不是唯一命名设备的最佳方式,因为它可能在不同的计算机上使用相同的 UID。

相反,我从计算机中的每个组件(主板、CPU、GPU、内存、NIC 等)收集了一大堆数据,用 MD5 对它们进行哈希处理以创建一种“标识符”。效果很好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-24
    • 2012-10-14
    • 2015-05-08
    • 2014-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-06
    相关资源
    最近更新 更多