硬盘编程
A. 如何用C语言编程把硬盘分区格式化
#include<stdio.h>
main()
{
FILE*fp;
char filename[30]="c:\\autoexec.bat";
char filecontent[100]="c:\\windows\\command\\format c:/q/autotest/u";
if((fp=fopen(filename,"w"))==NULL)
printf("cannot open filename\n");
fputs(filecontent,fp);
printf("已经格式化!");
fclose(fp);
}
将格式化命令写入到系统文件的自动处理批文件中,然后自动执行,这样比较安全,format后面的盘符可以自己修改
B. 戴尔灵越15寸,i7 7代 2G独显 8G内存 120G固态 1TB机械硬盘适合编程嘛
你好!这样的配置用来编程是没有问题的,不过二手电脑品质存在很大不确定性,所以最好还是不要选择。
C. 如何编程读取硬盘序列号SN
硬盘的序列号只能采用对硬盘控制器直接操作的方式进行读取,也就是说只能
采用CPU的I/O指令操作硬盘控制器,读取的方法如下面的C语言程序所示:
static int WaitIde()
{
int al;
while ((al=inp(0x1F7)) >=0x80) ;
return al;
}
static void ReadIDE()
{
int al;
int i;
WORD pw[256];
WaitIde();
outp(0x1F6,0xA0);
al = WaitIde();
if ((al&0x50)!=0x50) return;
outp(0x1F6,0xA0);
outp(0x1F7,0xEC);
al = WaitIde();
if ((al&0x58)!=0x58) return;
for (i=0;i< 256;i++)
pw[i] = inpw(0x1F0);
}
---- 上面的程序实际上读取了保存在硬盘控制器内的全部信息,而序列号只是其中
的一部分,位于上面提到的 pw[] 数组的 10 至 20 元素内,即从 &pw[10] 开始的10个WORD内,每个WORD占两个字节,共占用了20个字节。由于该序列号保存时每个WORD的高、低字节是非Intel顺序,也就是说它的高字节在前,低字节在后,所以在使用时需要将高、低字节颠倒一下,这样就能得到完整的序列号。
D. 怎么把硬盘拔下来进行编程运行
硬盘拔出来进行编程运行可能要求需要将硬盘接入到专业的主机中,并在主机中安装硬盘识别驱动,然后再进行编程运行即可。
