Aca pongo otra API


Código:
Option Explicit
'<<<<<<<<<<<<Hecho Por  Zitro>>>>>>>>>>>>>&gt ;
'Para la Comunidad de CanalVisualBasic
'
'Fecha 04/Agosto/2006 HoraInicial 15:10 HoraFinal 15:44
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
'-------Info de GetDiskFreeSpace------
'
'La funcion obtiene: Bytes por Sector, Sectores por Cluster, Clusters libres, Clusters Totales
'
'Compatible en 32 Bits, VB 4,5 y 6
'
'Sistemas Operativos: Windows NT 3.1 o superior; Windows 95 o superior
'
'Libreria: Kernel32
'
'--------Informacion de Parametros------
'
' lpRootPathName
'Aqui se especifica la unidad por ejemplo "C:\"
'Se le puede pasar un directorio como parametro por ejemplo App.Path
'De todos modos muestra la informacion del disco actual o del drive donde esta el directorio
'
'lpSectorsPerCluster
'Este nos devuelve los Sectores por Cluster
'
'lpBytesPerSector
'Este nos devuelve los Bytes por Sector
'
'lpNumberOfFreeClusters
'Te devuelve el numero de clusters libres
'
'lpTotalNumberOfClusters
'El total de clusters en el disco
'
'
'---------Valor de retorno------------
'Con eXito = Devuelve un valor diferente de Cero
'
'Sin Exito = Devuelve Cero
'
'Para mas informacion Llamen al API GetLastError
'
'Voy a utilizar letras para las funciones
't = tipo junto con el nombre del API
'f = Funcion junto con el nombre del API


Public Type tGetDiskFreeSpace
 bExito As Boolean ' Saber si la funcion tuvo exito
 lSectores As Long 'Sectores por Cluster
 lBytes As Long 'Bytes por Sector
 lLibresC As Long 'Clusters libres
 lTotalesC As Long 'Total de Clusters
 lUsadosC As Long 'Total de Clusters Usados
End Type
 


Function fGetDiskFreeSpace(Optional sCarpeta As String = "") As tGetDiskFreeSpace
On Error GoTo eti:
 fGetDiskFreeSpace.bExito = GetDiskFreeSpace(sCarpeta, fGetDiskFreeSpace.lSectores, fGetDiskFreeSpace.lBytes, fGetDiskFreeSpace.lLibresC, fGetDiskFreeSpace.lTotalesC)
 fGetDiskFreeSpace.lUsadosC = fGetDiskFreeSpace.lTotalesC - fGetDiskFreeSpace.lLibresC
Exit Function
eti:
MsgBox Err.Description
End Function
'
'
'Pasa el Siguiente Code en un formulario, para que veas el funcionamiento
'
'Option Explicit
'
'Dim info As tGetDiskFreeSpace
'Private Sub Form_Load()
'info = fGetDiskFreeSpace("c:\")
'MsgBox info.bExito
'MsgBox info.lUsadosC
'End Sub

Espero que sirva de algo y acepten la propuesta