微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

获得IDE硬盘C的序列号(如何获取电脑硬盘序列号)

获得IDE硬盘C的序列号(如何获取电脑硬盘序列号)

/* 获得IDE硬盘C的序列号 */

/* Hard disk Serial Number */

# include

# include

# include

# include

# include

char *getascii (unsigned int in_data [],int off_start,int off_end);

void main(void)

{

unsigned int dd[256];

/* 磁盘数据 */

unsigned int dd_off;

/* 磁盘数据偏移地址 */

while(inp(0x1F7)!=0x50)

/* 等待控制 */

outp(0x1F6,0xA0);

/* 得到磁盘信息 */

outp(0x1F7,0xEC);

/* 得到磁盘数据信息 */

while(inp(0x1F7)!=0x58)

/* 等待数据 */

for(dd_off=0;dd_off!=256;dd_off++)

/* 读磁盘扇区 */

dd [dd_off]=inpw(0x1F0);

printf("The Serial Number Hard disk [C] is %s",getascii(dd,10,19));

}

char *getascii (unsigned int in_data [],int off_end)

{

static char ret_val [255];

int loop,loop1;

for(loop=off_start,loop1=0;loop<=off_end;loop++)

{

ret_val[loop1++]=(char)(in_data[loop]/256);

/* 得到高位地址字节 */

ret_val[loop1++]=(char)(in_data[loop]%256);

/* 得到低位地址字节 */

}

ret_val[loop]='';

/* 确认以'0'结束 */

return(ret_val);

}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐