当前位置: 首页 > >

在Windows中读取硬盘

发布时间:

今天太无聊了,突然想直接使用C语言读取硬盘看看,看了下网上有使用biosdisk函数的,但是Windows下这个函数已经没有了(VS2005),后来在这个地方(http://www.cqzol.com/programming/c/200803/81345.html)找到了一个方法,利用CreateFile和ReadFile函数来操作。(WriteFile可以直接写扇区,太危险,我就不实验了)。利用他所讲到的方法,我写了如下程序:


?



?


dev变量表示逻辑磁盘号(如果换成具体的文件名就成了对文件的操作了,比如我注释掉的boot.bin是《自己动手写操作系统》那本书的第一个asm程序用NASM编译出来引导程序)。


例子中是对C盘的头512个字节进行读取,其结果为:


?






然后对于boot.bin的结果是:





这512个字节我使用UltraEdit查看也是这样,可见是没有问题的。


?


WriteFile跟ReadFile类似,不要轻易用在对硬盘的操作上。



友情链接: