par Michael DELIQUE » 05 Nov 2007 à 17:48
- 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
Cordialement
Michael (SMS-Phobique)
----------------------------
"La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi."
Albert EINSTEIN