//虚拟机大都是SCSI硬盘,获取硬盘序列号的方法不知道,但是本人将虚拟机的硬盘类型更改为IDE类型,通过下面的代码获取成功是00000000000000001
#include
#include
#include
#include
int getHardSerialNo(char *info)
{
struct hd_driveid id;
int fd = open("/dev/sda", O_RDONLY|O_NONBLOCK);
if (fd < 0) {
fd = open("/dev/sda", O_RDONLY|O_NONBLOCK);
if (fd < 0) return 1;
}
if(!ioctl(fd, HDIO_GET_IDENTITY, &id))
{
strcpy(info,id.serial_no);
}
printf("%s\n",info);
return 0;
}
int main()
{
char info[50];
getHardSerialNo(info);
printf("****%s\n",info);
return 0;
}
阅读(1621) | 评论(0) | 转发(0) |