=================================
(2) 利用GetLogicalDriveStrings函数:
Declare integer GetLogicalDriveStrings in "kernel32" Long, string @cc
CC=Spac(81)
=GetLogicalDriveStrings(81,@cc)
*CC中返回了这样的字符串"a:/ c:/ d:/ e:/ f:/ "每个名字都用一个NULL字符
分隔,在最后一个名字后面用两个NULL表示中止。
X=(len(allt(cc))-1)/4 &&x中包含本机逻辑驱动器个数
*如果你想知道每个具体的驱动器名,则写如下代码:
Dime Dve(X)
For I=1 to X
Dve(I)=Subs(CC,1,3)
CC=Subs(CC,5)
Endf
*这样在Dve这个数组里就是每个驱动器的盘符及":/" 了。
*如果你还想知道每个驱动器的类型,则再添加和改写如下代码:
Declare integer GetDriveType in "kernel32" String
Dime Dve(X,2)
For I=1 to X
Dve(I,1)=Subs(CC,1,3)
Lx=GetDriveType(Dve(I,1))
Do Case
Case Lx=2
Dve(I,2)='软盘'
Case Lx=3
Dve(I,2)='硬盘'
Case Lx=4
Dve(I,2)='可移去式驱动器或网络驱动器'
Case Lx=5
Dve(I,2)='光盘'
Case Lx=6
Dve(I,2)='RAM盘'
Endc
CC=Subs(CC,5)
Endf