Dim TotalNumberOfBytes As LARGE_INTEGER
Dim TotalNumberOfFreeBytes As LARGE_INTEGER
Private Sub Form_Load()
Dim temp As Long
Dim tempa, tempb, tempc
RootPathName = "c:"
‘取得磁盘空间
temp = GetDiskFreeSpaceEx(RootPathName, FreeBytesAvailabletoCaller, TotalNumberOfBytes, TotalNumberOfFreeBytes)
‘格式化文本,并显示在text控件
Text1.Text = Text1.Text "磁盘容量:" Chr(13) Chr(10)
tempa = TotalNumberOfBytes.highpart * 65635 TotalNumberOfBytes.lowpart ‘计算容量
tempa = 0 – tempa ‘我的驱动器大于2G,要得到正确的值,进行了调整
Text1.Text = Text1.Text CStr(tempa) "字节" Chr(13) Chr(10)
tempa = Format(tempa / 1024 / 1024 / 1024, "0.00")
Text1.Text = Text1.Text tempa "G" Chr(13) Chr(10)
‘取得磁盘可用空间
Text1.Text = Text1.Text "磁盘可用空间:" Chr(13) Chr(10)
tempb = TotalNumberOfFreeBytes.highpart * 1000 TotalNumberOfFreeBytes.lowpart ‘计算
Text1.Text = Text1.Text CStr(tempb) "字节" Chr(13) Chr(10) ’格式化文本并显示
tempb = Format(tempb / 1024 / 1024 / 1024, "0.00")
Text1.Text = Text1.Text tempb "G" Chr(13) Chr(10)
‘取得磁盘已用空间
Text1.Text = Text1.Text "磁盘已用空间:" Chr(13) Chr(10)
tempa = 0 – tempa ‘调整
tempc = tempa – tempb ‘计算
tempc = 0 - tempc
Text1.Text = Text1.Text CStr(tempc) "G" Chr(13) Chr(10)’格式化文本,并显示
End Sub
以上代码显示了c:上的容量,可用空间和已用空间。
4、CreateDirectory, CreateDirectoryEx
作用:创建一个新目录
声明形式:
Declare Function CreateDirectory& Lib "kernel32" Alias "CreateDirectoryA" (ByVal lpNewDirectory As String, lpSecurityAttributes As SECURITY_ATTRIBUTES)
Declare Function CreateDirectoryEx& Lib "kernel32" Alias "CreateDirectoryExA" (ByVal lpTemplateDirectory As String, ByVal lpNewDirectory As String, lpSecurityAttributes As SECURITY_ATTRIBUTES)
说明:此函数的返回值类型为Long,非零表示成功,零表示失败。会设置GetLastError
参数说明:
参数类型及说明lpTemplateDirectoryString,指定一个模板目录的名字,从中复制默认属性(比如目录中文件的默认压缩方式)。如设为vbNullString,则表示不使用模板lpNewDirectoryString,新目录的名字lpSecurityAttributes SECURITY_ATTRIBUTES,这个结构定义了目录的安全特性——如果操作系统支持的话
示例程序代码如下:
‘定义结构
Private Type SECURITY_ATTRIBUTES
nLength As Long
lpSecurityDescriptor As Long
bInheritHandle As Long
End Type
‘函数声明
Private Declare Function CreateDirectory& Lib "kernel32" Alias "CreateDirectoryA" (ByVal lpNewDirectory As String, lpSecurityAttributes As SECURITY_ATTRIBUTES)
Private Declare Function CreateDirectoryEx& Lib "kernel32" Alias "CreateDirectoryExA" (ByVal lpTemplateDirectory As String, ByVal lpNewDirectory As String, lpSecurityAttributes As SECURITY_ATTRIBUTES)
Private Sub form_load()
Dim temp As SECURITY_ATTRIBUTES
CreateDirectory "c:\test", temp ‘创建文件夹
End Sub
以上代码在c:下创建一个名为test的文件夹
5、RemoveDirectory
作用:移除一个目录
声明形式:
Declare Function RemoveDirectory Lib "kernel32" Alias "RemoveDirectoryA" (ByVal lpPathName As String) As Long
说明:此函数的返回值类型为Long,非零表示成功,零表示失败。会设置GetLastError.
在调用这个函数前,目录必须为空
参数说明:
参数类型及说明lpPathName为String类型,要删除的那个目录的名字
示例代码如下:
‘函数声明
Private Declare Function RemoveDirectory Lib "kernel32" Alias "RemoveDirectoryA" (ByVal lpPathName As String) As Long
Private Sub form_load()
Dim temp As String
temp= “c:\test”
RemoveDirectory temp ‘移除文件夹
End Sub
以上代码删除c:下一个名为test的文件夹。
6、SetCurrentDirectory
作用:设置当前目录
声明形式:
Declare Function SetCurrentDirectory Lib "kernel32" Alias "SetCurrentDirectoryA" (ByVal lpPathName As String) As Long
说明:此函数的返回值类型为Long,非零表示成功,零表示失败。会设置GetLastError
参数说明:
参数类型及说明LpPathNameString,新当前目录的路径
示例代码如下:
‘函数声明
Private Declare Function SetCurrentDirectory Lib "kernel32" Alias "SetCurrentDirectoryA" (ByVal lpPathName As String) As Long
Private Sub form_load()
SetCurrentDirectory "c:\" ‘设置当前目录
End Sub
以上代码将c:设置为当前目录
7、GetSystemDirectory
作用:这个函数能取得Windows系统目录(System目录)的完整路径名。在这个目录中,包含了所有必要的系统文件。根据微软的标准,其他定制控件和一些共享组件也可放到这个目录。通常应避免在这个目录里创建文件。在网络环境中,往往需要管理员权限才可对这个目录进行写操作
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




