61.ディスクの容量と空き容量の取得
< 使用用途 >
ディスクの容量と空き容量の取得
今回のサンプルソースをダウンロードする方は下記の「ダウンロード」を!
=> ダウンロード ・・・ 下に書いてあるサンプルソースと同じです
< 説明 >
API関数のGetFreespace を使用します
GetFreespace =>ディスクの容量と空き容量の取得
<引数>
lpRootPathName:ドライブ名
lpSectorsPerCluster:セクタ(クラスタ当り)
lpBytesPerSector:バイト数(セクタ当り)
lpNumberOfFreeClusters:フリークラスタ数
lpTtoalNumberOfClusters:ドライブのクラスタ数(合計)
@戻り値@
正常終了True
< SAMPLE >
'標準モジュール
Public 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 Command1_Click()
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="C:\"
'ディスク情報を取得
Ret=GetDiskFreeSpace(Name,Sekuta,nByte,Kurasuta,Drive)
Label1.Caption=Name
'ディスク容量を取得
Youryou=Sekuta*nByte*Drive
Text1.Text = Format(Youryou, "#,##0") & "バイト"
'空き容量を取得
FreeSpace=Sekuta*nByte*Kurasuta
Text1.Text = Format(FreeSpace, "#,##0") & "バイト"
End Sub