guanjl 发表于 2009-3-20 15:14:52

AUTOIT3--DriveStatus返回的$var值总是是UNKNOWN,为什么?

1.先查找系统配置是否有光驱
2.如果没有光驱则跳过下面的3.4.5.6.步骤
3.如果有光驱则检测光驱内是否有光盘
4.如果有光盘则提示“有光盘”(其实我想打开播放器的,用这个先代替)
5.如果没有光盘则提示“请插入光盘,点确定”
6.当点击“确定”后,再重新做3.4.项的判断,直到检测到光盘为止。

如何将以上6步连接成一段可用的角本啊,我是初学者,现在IF判断用得不佳,看了帮助,实在是不会将上面写正确,请大家帮帮忙,可以写给我吗?


请看3楼有脚本补充!!

[ 本帖最后由 guanjl 于 2009-3-23 16:52 编辑 ]

ddx13 发表于 2009-3-21 13:04:26

DriveGetDrive ( "类型" )
DriveStatus ( "路径" )

guanjl 发表于 2009-3-23 14:21:45

$DRIVE=DriveGetDrive ( "CDROM" )
If NOT @error Then
$var=DriveStatus ( "$DRIVE" )
Else
MsgBox(16,"", "系统没有发现光驱!请检查!!")
ENDIF
if $var="NOTREADY" Then
      MsgBox(16,"", "无光盘" )
      ElseIf $var="UNKNOWN" Then
MsgBox(16,"", "不管是插入光盘还是没光盘,$var的值它都是UNKNOWN" )
Else
      IF $var="READY" Then RUN("C:\Program Files\StormII\Storm.exe")
ENDIF

请看看是哪里错了,
当拔下光驱后,运行会提示“系统没有发现光驱!请检查!!”,是正常的。
接上光驱后,不管是插入光盘还是没光盘,DriveStatus返回的$var值都是UNKNOWN,有点奇怪啊,是哪里有问题吗?

[ 本帖最后由 guanjl 于 2009-3-23 14:24 编辑 ]

顽固不化 发表于 2009-3-23 16:17:09

如果有光盘,它就能ready!~~~~~~~·

$DRIVE = DriveGetDrive("CDROM")
If Not @error Then
        $var = DriveStatus($DRIVE&"\")
Else
        MsgBox(16, "", "系统没有发现光驱!请检查!!")
EndIf
If $var = "NOTREADY" Then
        MsgBox(16, "", "无光盘")
ElseIf $var = "UNKNOWN" Then
        MsgBox(16, "", "不管是插入光盘还是没光盘,$var的值它都是UNKNOWN")
Else
        If $var = "READY" Then MsgBox(16, "", "如果有光盘,它就ready了")
EndIf

guanjl 发表于 2009-3-23 16:51:53

回复 4# 顽固不化 的帖子

多谢 顽固 的帮助!:face (37):
原来是   ($DRIVE&"\")   这一步写错了。。。:face (12):
页: [1]
查看完整版本: AUTOIT3--DriveStatus返回的$var值总是是UNKNOWN,为什么?