Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations TouchToneTommy on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Get current free diskspace

Status
Not open for further replies.

nhidalgo

MIS
Jun 13, 2001
619
US
I would like to write a little app that will email me the current free diskspace on that pc. I all ready have the email part written. Is there a function that will give me the current free disk space of c drive?
Any help would be great.

Nick
 
‘ Make a reference to Microsoft Scripting Runtime to use VB's FileSystemObject

Private Sub Form_Load()
Dim fso As FileSystemObject

Set fso = New FileSystemObject

MsgBox "Free space available = " & Format$((fso.GetDrive("C:\").FreeSpace), "###,###")

Set fso = Nothing

End Sub
 
The follow code can be used to do this
Private Sub Command1_Click()
Call ShowFreeSpace("C:")
End Sub

Sub ShowFreeSpace(drvPath)
Dim fs, d, s
Set fs = CreateObject("Scripting.FileSystemObject")
Set d = fs.GetDrive(fs.GetDriveName(drvPath))
s = "Drive " & UCase(drvPath) & " - "
s = s & d.VolumeName & vbCrLf
s = s & "Free Space: " & FormatNumber(d.FreeSpace / 1024, 0)
s = s & " Kbytes"
MsgBox s
End Sub
 
You can use GetDiskFreeSpace Api function...

The GetDiskFreeSpace function retrieves information about the specified disk, including the amount of free space on the disk.

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
 
I would i use this to check the free space of C drive. Can you give me the exact coding.

Thanks

Nick
 
The GetDiskFreeSpace function retrieves information about the specified disk, including the amount of free space on the disk.

VB4-32,5,6
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

Operating Systems Supported

Requires Windows NT 3.1 or later; Requires Windows 95 or later


Library

Kernel32


Parameter Information

· lpRootPathName
Points to a null-terminated string that specifies the root directory of the disk to return information about. If lpRootPathName is NULL, the function uses the root of the current directory.

· lpSectorsPerCluster
Points to a variable for the number of sectors per cluster.

· lpBytesPerSector
Points to a variable for the number of bytes per sector.

· lpNumberOfFreeClusters
Points to a variable for the total number of free clusters on the disk.

· lpTotalNumberOfClusters
Points to a variable for the total number of clusters on the disk.


Return Values

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, call GetLastError.

Example.....

'In general section
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
'Retrieve information about the C: GetDiskFreeSpace "C:\", Sectors, Bytes, Freec, Totalc
'Set graphic mode to persistent
Me.AutoRedraw = True
'Print the information to the form
Me.Print " Path: C:\"
Me.Print " Sectors per Cluster:" + Str$(Sector)
Me.Print " Bytes per sector:" + Str$(Bytes)
Me.Print " Number Of Free Clusters:" + Str$(Freec)
Me.Print " Total Number Of Clusters:" + Str$(Totalc)
Total = rTotalc& * rSector& * rBytes&
Me.Print " Total number of bytes in path:" + Str$(Total)
Freeb = rFreec& * rSector& * rBytes&
Me.Print " Free bytes:" + Str$(Freeb)
End sub
 
-->I would i use this to check the free space of C drive. Can you give me the exact coding.

If I do your exact job, do I get your exact paycheck? You have been given a number of good suggestions, with the FSO and API options. Given what has already been provided, the rest should be easy for you. Good Luck
--------------
As a circle of light increases so does the circumference of darkness around it. - Albert Einstein
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top