| 网站首页 | JAVA文章 | AppServers | Web开发 | 应用开发 | 资源下载 | 论坛
    想学好编程,学好外语很重要  [enadd  2006年12月25日]        
设为首页 加入收藏 联系站长
您现在的位置: 编程笔记网 >> 应用开发 >> vb >> 文件 >> 文章正文
取得Disk Driver List与各个Driver的型态            【字体:
取得Disk Driver List与各个Driver的型态
作者:-    文章来源:-    点击数:    更新时间:2006-6-8

Private Declare Function GetDriveType Lib "kernel32" _
   Alias "GetDriveTypeA" (ByVal nDrive As String) As Long
Private Declare Function GetLogicalDriveStrings Lib "kernel32" _
   Alias "GetLogicalDriveStringsA" (ByVal nBufferLength As Long, _
   ByVal lpBuffer As String) As Long
'GetDriveType()的传回值意义如下:
'0   The drive type cannot be determined.
'1   The root directory does not exist.
'2   The drive can be removed from the drive.
'3   The disk cannot be removed from the drive.
'4   The drive is a remote (network) drive.
'5   The drive is a CD-ROM drive.
'6   The drive is a RAM disk.

Private Sub Command1_Click()
Dim drv() As String, i As Long
Dim DrvType As Long
Call GetAvailDriver(drv())
For i = LBound(drv) To UBound(drv)
    DrvType = GetDriveType(drv(i))
    Select Case DrvType
      Case 2
         Debug.Print drv(i), "软碟"
      Case 3
         Debug.Print drv(i), "硬碟"
      Case 4
         Debug.Print drv(i), "网路磁碟"
      Case 5
         Debug.Print drv(i), "光碟"
      Case 6
         Debug.Print drv(i), "RamDisk"
      Case Else
         Debug.Print drv(i), "不明"
    End Select
Next i
End Sub

'取得所有可用的DiskDriver List
Public Sub GetAvailDriver(DriverName() As String)
Dim totlen As Long
Dim buff As String, totDrvCnt As Long
Dim i As Long, tmpstr As String, j As Long
buff = String(255, 0)
totlen = GetLogicalDriveStrings(256, buff)
'取得的值如: "a:\"+Chr(0)+"c:\"+Chr(0) + "d:\"+Chr(0) + Chr(0)
'而这个例子中传回长度(totlen)是12
buff = Left(buff, totlen)
totDrvCnt = 0
For i = 1 To totlen
   tmpstr = Mid(buff, i, 1)
   If tmpstr = Chr(0) Then
      totDrvCnt = totDrvCnt + 1
   End If
Next i
ReDim DriverName(totDrvCnt - 1)
j = 0
For i = 1 To totDrvCnt
    j = InStr(1, buff, Chr(0))
    DriverName(i - 1) = Left(buff, j - 1)
    buff = Mid(buff, j + 1)
Next i
End Sub

[1]

文章录入:enadd    责任编辑:enadd 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
  • 用VB编写DirectX7.0游戏(下…

  • 用VB编写DirectX7.0游戏(上…

  • 使用OLE DB和ADO调用返回记录…

  • 使用VB调用Oracle程序包内的…

  • VB中用ADO对象动态创建数据库…

  • fffff

  • 如何用MSComm Control传Bina…

  • MultiLink的WinSock Server程…

  • 用VB制作浏览器

  • 用VB编写网络寻呼机

  •   网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 |