Chinaunix首页 | 论坛 | 博客
  • 博客访问: 330567
  • 博文数量: 64
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 589
  • 用 户 组: 普通用户
  • 注册时间: 2012-11-08 15:50
文章分类

全部博文(64)

文章存档

2015年(52)

2014年(3)

2013年(9)

我的朋友

分类: LINUX

2015-05-18 09:56:59

//虚拟机大都是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;  
}  
阅读(1543) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~