Clear
Declare Long GetDriveType In "kernel32" String nDrive
Local lnI, DrvName, DrvType
For lnI = 1 To 25
DrvName = Chr(lnI + 65) + ":"
DrvType = GetDriveType(DrvName)
Do Case
Case DrvType = 2
? "驱动器" + DrvName + "是一个软盘驱动器"
Case DrvType = 3
? "驱动器" + DrvName + "是一个硬盘驱动器"
Case DrvType = 4
? "驱动器" + DrvName + "是一个可移去式驱动器或网络驱动器"
Case DrvType = 5
? "驱动器" + DrvName + "是一个CD-ROM驱动器"
Case DrvType=6
? "驱动器" + DrvName + "是一个RAM 盘"
EndCase
EndFor
方法二:
myDri =""
Declare INTEGER GetLogicalDriveStrings IN kernel32 INTEGE nBufferLength,STRING @ lpBuffer
Declare INTEGER GetDriveType IN kernel32 STRING nDrive
AIIDrive=replicate(' ',108)
=GetLogicalDriveStrings(Len(AIIDrive),@AIIDrive)
AIIDrive=Alltrim(AIIDrive)
For lnI=1 To Len(AIIDrive)/4
DriNameTmp=Substr(AIIDrive,lnI*4-3,2)
NDType=GetDriveType(DriNameTmp)
Do Case
Case NDType=2 and Inlist(DriNameTmp,"A:","B:","a:","b:")
DriType='软驱'
Case NDType=2 and Not Inlist(DriNameTmp,"A:","B:","a:","b:")
DriType='U盘'
Case NDType=3
DriType='硬盘'
case NDType=5
DriType='光驱'
EndCase
myDri=myDri+Iif(Empty(myDri),"",",")+DriNameTmp+Space(1)+DriType
EndFor
MessAgeBox(myDri)