ホーム > カテゴリ > Visual Basic >

ディスクの容量と空き容量を取得する

ディスクの容量と空き容量を取得するサンプルです。

サンプルの実行画面

ソースコード

[GetDiskFreeSpace.frm]

'GetFreespace =>ディスクの容量と空き容量の取得

'<引数>
'lpRootPathName:             ドライブ名
'lpSectorsPerCluster:        セクタ (クラスタ当り)
'lpBytesPerSector:           バイト数 (セクタ当り)
'lpNumberOfFreeClusters:     フリークラスタ数
'lpTtoalNumberOfClusters:    ドライブのクラスタ数 (合計)

'@戻り値@
' 正常終了True


Private Declare Function GetDiskFreeSpace Lib "kernel32" Alias "GetDiskFreeSpaceA" (ByVal lpRootPathName As String, lpSectorsPerCluster As Long, lpBytesPerSector As Long, lpNumberOfFreeClusters As Long, lpTtoalNumberOfClusters As Long) As Long

Private Sub Drive1_Change()

Dim Name As String      'ドライブ名
Dim Sekuta As Long      'セクタ(クラスタ当り)
Dim nByte As Long       'バイト数(セクタ当り)
Dim Kurasuta As Long    'フリークラスタ数
Dim Drive As Long       'ドライブのクラスタ数(合計)
Dim FreeSpace As Double 'ディスクの空き容量
Dim Youryou As Double   'ディスクの容量
Dim Ret As Long         '戻り値


Name = Drive1.Drive & "\"

'ディスク情報を取得
Ret = GetDiskFreeSpace(Name, Sekuta, nByte, Kurasuta, Drive)

'ディスク容量を取得
Youryou = Sekuta * nByte * Drive
Text1.Text = Format(Youryou, "#,##0") & "バイト"

'空き容量を取得

FreeSpace = Sekuta * nByte * Kurasuta
Text2.Text = Format(FreeSpace, "#,##0") & "バイト"


End Sub

ソースコード一式のダウンロード

vbapi_getdiskfreespace.zip 1.10 KB (1,134 バイト)

このサンプルの動作環境について

このサンプルは 「Windows98」及び「Microsoft Visual Basic 5.0 Professional Edition」で確認しております。環境が異なる場合は正常に動作しない場合もございますのでご了承下さい。





関連記事



公開日:2015年03月04日
記事NO:00332