Visual Basic Tips


ディスク容量の取得(API)


GetDiskFreeSpaceEX関数を使用して容量の情報を取得します。SHGetDiskFreeSpaceという関数でも取得できるようです。

Private Sub Form_Load()
  
Dim lngTotalBytes As Long
  
Dim lngTotalFreeBytes As Long
  
Dim bolret As Boolean

  bolret = GetDiskFreeSpaceEx("d:", 0, lngTotalBytes, lngTotalFreeBytes)

  
If bolret Then
    
Debug.Print "Total Bytes = " & lngTotalBytes
    
Debug.Print "Free Bytes = " & lngTotalFreeBytes
  
Else
    
Debug.Print "失敗"
  
End If
End Sub

'-------------------------------------------------------
'
'-------------------------------------------------------
Public Declare Function GetDiskFreeSpaceEx Lib "kernel32" Alias "GetDiskFreeSpaceExA" (ByVal lpDirectoryName As String, lpFreeBytesAvailableToCaller As Long, lpTotalNumberOfBytes As Long, lpTotalNumberOfFreeBytes As Long) As Boolean


DownLoad vbtips090.lzh 2KB (VB6.0)