holley 发表于 2022-8-11 18:43:05

请教: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才得到我想要的效果。

另,代码框里好像":\"没出来

afan 发表于 2022-8-11 18:58:55

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 & " 个")

holley 发表于 2022-8-12 09:00:53

afan 发表于 2022-8-11 18:58


多谢,,我懂这个逻辑了。F5运行一开始还报未定义这三个变量,我就dim了一下。
页: [1]
查看完整版本: 请教:DriveGetType未获取到的情况怎么赋值?【已解决】