SATA驱动器的硬盘ID

时间:2012-01-12 06:29:32

标签: delphi delphi-7 serial-number sata hard-drive

我正在使用我的软件的硬盘ID来检查真实用户是否正在使用该软件。 对于IDE类型的硬盘,我使用GetIdeSerialNumber程序获取id。

但是在SATA驱动器的情况下,它将id作为空白。

然后在SATA驱动器的情况下,我使用卷ID作为唯一ID。

但在系统格式化时,卷ID会发生变化

现在我想知道我正在使用哪个硬盘,以及如何在delphi 7中获取SATA硬盘的硬盘ID?

编辑:根据客户规格的软件需要锁定硬件,相关ID是

  1. MAC地址
  2. HD ID(SATA或IDE)
  3. 控制器ID(这是用于驱动软件所用硬件的电机,ID是唯一的)
  4. 客户已经知道如果系统被更改,认证层将失败, 但我们已经开始将软件锁定到硬件......

    所以我想知道如何获取SATA ID

1 个答案:

答案 0 :(得分:3)

WMI是检索硬盘序列号的最佳选择,但不支持旧版本的Windows(95和98)。

我建议您使用volume serial number。这是硬件无关的。它将与Windows的安装相关联,而不是物理硬盘驱动器。这很有意义,应该足够好。

请注意,如果用户重新安装Windows或其他一些还原情况,则必须重新激活,因此您需要留出一些余地。这是最棘手的部分。当然,这就是使用多个ID的原因。您可以允许一个或多个更改,而不是全部更改,而无需重新激活。