在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類似,不要輕易用在對硬盤的操作上。

發佈了97 篇原創文章 · 獲贊 4 · 訪問量 17萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章