c/c++获取硬盘序列号

时间:2023-08-05 17:21:25

最近在接触软件注册模块,需要获取硬盘序列号来生成注册码。

硬盘序列号,英文名:Hard Disk Serial Number,该号是硬盘厂家为区别产品而设置的,是唯一的。网上搜索一下,发现获取硬盘序列号的代码遍地都是,但很多是错误的。典型代表就是使用GetVolumeInformation函数获取序列号。这种方法获取的是卷的序列号,即Volume Serial Number。硬盘格式化后,这种序列号将发生变化。本文描述的是获取硬盘唯一的物理序列号的方法。

获取硬盘序列号的方法:https://www.winsim.com/diskid32/diskid32.html,编译的时候如果报error C2011错误,那是因为代码里面定义的一些结构体和winioctl.h里的重了,删掉diskid32里面的就可以了。