请教:DriveGetType未获取到的情况怎么赋值?【已解决】
本帖最后由 holley 于 2022-8-12 09:06 编辑这两天在优酷看视频教程,今天看到讲解DriveGetType()的使用
For $i = 67 To 90
Local $drv = Chr($i) & ":\"
Dim $a_Fixed, $b_CDROM, $c_Removable
Switch DriveGetType($drv)
Case "Fixed"
If DriveGetType($drv)==Null Then
$a_Fixed = 0
Else
$a_Fixed += 1
EndIf
Case "CDROM"
If DriveGetLabel($drv) ==Null Then
$b_CDROM = 0
Else
$b_CDROM += 1
EndIf
MsgBox(0,"",$b_CDROM)
Case "Removable"
If @errorThen
$c_Removable = 0
Else
$c_Removable += 1
EndIf
MsgBox(0,"",$c_Removable)
EndSwitch
;Case "Unknown"
Next
MsgBox(0, "提示", "硬盘数量 " & $a_Fixed +0& " 个" & @CRLF & _
"光驱数量 " & $b_CDROM +0& " 个" & @CRLF & _
"移动存储设备 " & $c_Removable +0& " 个")请教:例程里没有循环里面的if。。。endif ,这是我自己加了,目的是为了给没有获取到的磁盘类型赋值为 0
但三个if段都没有实际效果,请教一般这种情况怎么实现下面的结果?(我电脑没有光驱和U盘)
最后我是手动在msgbox里面依次+0才得到我想要的效果。
另,代码框里好像":\"没出来
Local $a_Fixed = 0, $b_CDROM = 0, $c_Removable = 0
For $i = 67 To 90
Switch DriveGetType(Chr($i) & ":")
Case "Fixed"
$a_Fixed += 1
Case "CDROM"
$b_CDROM += 1
Case "Removable"
$c_Removable += 1
EndSwitch
Next
MsgBox(0, "提示", "硬盘数量 " & $a_Fixed & " 个" & @CRLF & _
"光驱数量 " & $b_CDROM & " 个" & @CRLF & _
"移动存储设备 " & $c_Removable & " 个") afan 发表于 2022-8-11 18:58
多谢,,我懂这个逻辑了。F5运行一开始还报未定义这三个变量,我就dim了一下。
页:
[1]