全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2324
推到 Plurk!
推到 Facebook!

檢測硬碟總空間及剩餘空間

答題得分者是:harpist
fish730622
一般會員


發表:7
回覆:5
積分:2
註冊:2007-07-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2007-07-05 01:39:21 IP:220.133.xxx.xxx 訂閱
我在網路上找了很多,但是不能正確的呈現我的硬碟資訊,程式如下

DWORD sector,byte,cluster,free;
long int freespace,totalspace;
GetDiskFreeSpace("C:",§or,&byte,&free,&cluster); //每簇的磁區數、每磁區的位元組數、空閒的簇數、總簇數
totalspace=int(cluster)*int(byte)*int(sector)/1024/1024;//計算總容量
freespace=int(free)*int(byte)*int(sector)/1024/1024;//計算可用空間
Memo1->Lines->Add("C盤總空間(Mb):" String(totalspace));
Memo1->Lines->Add("C盤可用空間(Mb):" String(freespace));
--------------------------------------------------------------------------------------------
執行出來結果如下

C盤總空間(Mb):-962
C盤可用空間(Mb):1688

我的C:總空間有40GB
C:剩餘空間有5.64GB

是因為我的硬碟是SATA他抓不到嗎?
只能抓IDE的?
還是有更好的辦法希望哪位好心人士能替我解決
harpist
資深會員


發表:3
回覆:251
積分:430
註冊:2002-10-03

發送簡訊給我
#2 引用回覆 回覆 發表時間:2007-07-05 02:12:21 IP:59.104.xxx.xxx 未訂閱
<textarea class="cpp" rows="10" cols="60" name="code"> DWORD sector,byte,cluster,free; __int64 freespace,totalspace; GetDiskFreeSpace("C:",§or,&byte,&free,&cluster); totalspace = (__int64)cluster*(__int64)sector*(__int64)byte/1024/1024; freespace = (__int64)free*(__int64)sector*(__int64)byte/1024/1024; Memo1->Lines->Add("C盤總空間(Mb):" String(totalspace)); Memo1->Lines->Add("C盤可用空間(Mb):" String(freespace)); </textarea>
------
~§~迷時師渡,悟了自渡~§~
系統時間:2024-04-25 19:25:36
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!