Page 1 sur 1

L'espace disque disponible

MessagePublié: 05 Nov 2007 à 17:48
par Michael DELIQUE
Code : Tout sélectionner
Public Function FreeDiskSpace_API (wDisk As String) As Long
   
%REM
'Variables API pour la fonction FreeDiskSpace_API
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
%END REM
   
   'Déclaration Variables
   Dim FreeDiskSpace As Long
   Dim SectorsPerCluster As Long
   Dim BytesPerSector As Long
   Dim NumberOfFreeClusters As Long
   Dim TotalNumberOfClusters As Long
   
   On Error Goto ErreurFreeDiskSpace_API
   
   If Trim(wDisk) = "" Then
      FreeDiskSpace_API = 0
      Exit Function
   Elseif Right(Trim(wDisk),2) <> ":\" Then
      Error 9999,"La lettre du lecteur doit être suivis de '':\'' : "+Trim(wDisk)
   End If
   
   FreeDiskSpace_API = GetDiskFreeSpace (wDisk,SectorsPerCluster,BytesPerSector, NumberOfFreeClusters, TotalNumberOfClusters)
   
   FreeDiskSpace_API = (SectorsPerCluster/1024/1024) * BytesPerSector * NumberOfFreeClusters
   
   Exit Function
ErreurFreeDiskSpace_API :
   Msgbox "("+Cstr(Getthreadinfo (1))+" Call by "+Cstr(Getthreadinfo(10))+")"+Chr(10)+"Erreur " + Str(Err) + " : "+Chr(10) + Cstr(Error)+". "+Chr(10)+"Ligne N° "+Cstr(Erl),16," ERREUR !"
   FreeDiskSpace_API = 0
   Exit Function
End Function