Private Declare Function
GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive
As String) As Long
Private Sub Form_Load() Dim temp As Long temp
= GetDriveType("e:\") ‘取的e:盘驱动器类型 Select Case temp ‘比较 Case
DRIVE_CDROM MsgBox "DRIVE_CDROM: 光盘驱动器" Case DRIVE_FIXED MsgBox
"DRIVE_FIXED: 硬盘驱动器" Case DRIVE_RAMDISK MsgBox "DRIVE_RAMDISK:
RAM驱动器" Case DRIVE_REMOTE MsgBox "DRIVE_REMOTE: 网络驱动器" Case
DRIVE_REMOVABLE MsgBox "DRIVE_REMOVABLE: 软盘驱动器" End Select End
Sub 以上代码可以判断e:的类型。
3、GetDiskFreeSpaceEx
作用:获取与一个磁盘的组织以及剩余空间容量有关的信息
声明形式:
Declare
Function GetDiskFreeSpaceEx Lib "kernel32" Alias "GetDiskFreeSpaceExA"
(ByVal lpRootPathName As String, lpFreeBytesAvailableToCaller As LARGE_INTEGER,
lpTotalNumberOfBytes As LARGE_INTEGER, lpTotalNumberOfFreeBytes As LARGE_INTEGER)
As Long 说明:此函数的返回值类型为Long,非零表示成功,零表示失败。会设置GetLastError.
Type
LARGE_INTEGER ' 8 Bytes lowpart As Long highpart As Long End Type 其中lowpart为
Long,指定低32位
highpart 为 Long,指定高32位
LARGE_INTEGER结构与FILETIME结构内部完全一致。
请看下面示例:
Private Type LARGE_INTEGER ' 8 Bytes,定义一个LARGE_INTEGER结构 lowpart
As Long highpart As Long End Type
‘函数声明
Private Declare Function
GetDiskFreeSpaceEx Lib "kernel32" Alias "GetDiskFreeSpaceExA"
(ByVal lpRootPathName As String, lpFreeBytesAvailableToCaller As LARGE_INTEGER,
lpTotalNumberOfBytes As LARGE_INTEGER, lpTotalNumberOfFreeBytes As LARGE_INTEGER)
As Long
‘定义变量
Dim RootPathName As String Dim FreeBytesAvailabletoCaller
As LARGE_INTEGER 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)
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
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:设置为当前目录
Declare
Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA"
(ByVal lpBuffer As String, ByVal nSize As Long) As Long 说明:此函数的返回值类型为Long,装载到lpBuffer缓冲区的字符数量。如lpBuffer不够大,不能容下文件名,则返回要求的缓冲区长度
Private
Declare Function GetSystemDirectory Lib "kernel32" Alias "GetSystemDirectoryA"
(ByVal lpBuffer As String, ByVal nSize As Long) As Long
Private Sub form_load() Dim
buffer As String Dim size As Long size = 255 buffer = size + 1 GetSystemDirectory
buffer, size ‘将系统路径存放在buffer中 MsgBox buffer ‘显示路径