Why don't u simply use the GetDiskFreeSpace command for getting the HD-Capacity like I said in the other thread?
Private 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 Form_Load()
Dim Sectors As Long, Bytes As Long, FreeC As Long, TotalC As Long, Total As Long, Freeb As Long
GetDiskFreeSpace "C:\", Sectors, Bytes, FreeC, TotalC
MsgBox "Total space at C: is " & (TotalC * Sectors * Bytes / 1024 / 1024) & " MB and available is " & (FreeC * Sectors * Bytes / 1024 / 1024) & " MB"
End Sub