SATA驱动器的硬盘ID
Posted
技术标签:
【中文标题】SATA驱动器的硬盘ID【英文标题】:Hard disk id of SATA drives 【发布时间】:2012-02-08 12:03:50 【问题描述】:我正在使用我的软件的硬盘 ID 来检查真实用户是否在使用该软件。 对于 IDE 类型的硬盘,我使用 GetIdeSerialNumber 过程获取 id。
但如果是 SATA 驱动器,它会将 id 设为空白。
然后在 SATA 驱动器的情况下,我使用卷 ID 作为唯一 ID。
但是当系统格式化时volume id会改变
现在我想知道我正在使用哪个硬盘,以及如何在delphi 7中获取?
编辑:根据客户规格的软件需要锁定到硬件,相关的ID是
-
MAC 地址
HD id(SATA 或 IDE)
控制器ID(这是驱动软件开发的硬件的电机,ID是唯一的)
客户端已经接受,如果系统改变,认证层将失败, 但我们已获准将软件锁定到硬件..
所以我想知道如何获取 SATA ID
【问题讨论】:
啊。请不要将软件安装绑定到特定的硬盘驱动器。该软件可以安装在 RAID 卷上。你将如何处理? 或者当驱动器发生故障并且必须更换时,然后从备份中恢复所有内容? in Delphi7, How can I retrieve hard disk unique serial number? 的可能重复项 @all,已通知客户,如果我们更改 HD 或使用其他 PC,则会产生问题,但他们希望将软件锁定到该软件所在的系统已安装。 顺便说一句,请确保您使用多个标识符。硬盘序列号本身是不够的,往往不是唯一的。我看到序列号是 '0000...0000' 。 【参考方案1】:WMI 是您检索硬盘序列号的最佳选择,但不支持旧版本的 Windows(95 和 98)。
我建议您使用volume serial number。它与硬件无关。它将与 Windows 的安装而非物理硬盘驱动器相关联。这很有意义,应该足够好。
请注意,如果用户重新安装 Windows 或其他一些恢复情况,则必须重新激活,因此您需要留出一些余地。这是最难实现的部分。当然,这就是使用多个 ID 的原因。您允许更改一个或多个,而不是全部更改,而无需重新激活。
【讨论】:
以上是关于SATA驱动器的硬盘ID的主要内容,如果未能解决你的问题,请参考以下文章