ドライブの容量、空き容量を取得する



■必要なコンポーネント

■使用するAPI関数

■ソースは下記のようになります。

ドライブの容量、空き容量を取得する処理
procedure TForm1.Button1Click(Sender: TObject);
Var
  Sekuta  : Integer; //セクタ(クラスタ当り)
 nByte   : Integer; //バイト数(セクタ当り)
 Kurasuta : Integer; //フリークラスタ数
 Drive   : Integer; //ドライブのクラスタ数(合計)
 FreeSpace : Integer;//ディスクの空き容量
 Youryou  : Integer;//ディスクの容量
begin

 //ディスク情報を取得
 GetDiskFreeSpace('C:\', Sekuta, nByte, Kurasuta, Drive);
 //ディスク容量を取得
 Youryou := Sekuta * nByte * Drive ;
 //空き容量を取得
 FreeSpace := Sekuta * nByte * Kurasuta;

 //MBに変換する
 FreeSpace :=(FreeSpace div 1024) div 1024;
 Youryou :=(Youryou div 1024) div 1024;

 //テキストへ表示する
 Edit1.Text:= IntToStr(FreeSpace) + 'MB'+ '/' +IntToStr(Youryou) + 'MB';

end;




Win32APIのページへ



ホーム PV ランキング