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





API 技術関連のページへ戻る

ホーム PV ランキング