SATA 驱动器的硬盘 ID
我在我的软件中使用硬盘 ID 来检查真实用户是否正在使用该软件。 对于 IDE 类型硬盘,我使用过程 GetIdeSerialNumber 获取 id。
但如果是 SATA 驱动器,则 ID 为空。
然后,对于 SATA 驱动器,我使用卷 ID 作为唯一 ID。
但是当系统格式化时卷ID会改变
现在我想知道我正在使用哪个硬盘驱动器,以及如何在delphi 7中获取SATA驱动器的硬盘ID?
编辑:根据客户规格的软件需要锁定到硬件,涉及的ID是
- MAC地址
- HD id(SATA或IDE)
- 控制器ID(这是驱动软件的硬件的电机)是delvped,ID是唯一的)
客户端已接受,如果系统发生更改,身份验证层将失败, 但我们已经获得了将软件锁定到硬件的许可。
所以我想知道如何获取 SATA ID
I am using Hard disk ID for my software to check if the authentic user is using the software.
For IDE type hard disk i get the id using the procedure GetIdeSerialNumber.
but in case of SATA drives it gives the id as blank.
Then in case of SATA drives i am using volume id as unique id.
but volume id will change when system is formatted
Now I want to know which hard drive i am using ,and how to get the hard disk id of SATA drive in delphi 7 ?
EDIT: the software according to client specifications needs to be locked to the hardware, the ID's concerned are
- MAC address
- HD id (SATA or IDE)
- Controller ID (this is motor to drive the hardware of which the software is delvped, the ID is unique)
The client has accpted the if system is changed the the authentication layer will fail,
but we have been given the go ahead for the software locking to hardware..
so i wanted to know how to get the SATA ID
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
WMI 是检索硬盘驱动器序列号的最佳选择号,但不支持旧版本的 Windows(95 和 98)。
我建议您使用卷序列号。它与硬件无关。它将与 Windows 安装相关联,而不是与物理硬盘驱动器相关联。这很有意义并且应该足够好。
请注意,如果用户重新安装 Windows 或其他一些恢复情况,则必须重新激活,因此您需要留出一些余地。这是实施起来最棘手的部分。当然,这就是使用多个ID的原因。您允许更改一项或多项,但不是全部,无需重新激活。
WMI is your best bet for retrieving the hard drive serial number, though older versions of Windows (95 and 98) aren't supported.
I recommend that you use the volume serial number. It's hardware agnostic. It will be tied to that installation of Windows instead of the physical hard drive. This makes a lot of sense and should be good enough.
Note that the user will have to reactivate if they reinstall Windows or some other restore situations, so you need to allow some leeway. That's the trickiest part to implement. Of course, that's the reason to use multiple IDs. You allow one or more to change, just not all of them, without requiring reactivation.