手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Asp.Net编程>列表

VB中操作目录的Winodws API小结

来源:互联网 作者:西部数码 时间:2008-04-09
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

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
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!