顽固不化 发表于 2008-7-3 15:02:54

关于RegEnumkey()返回值问题。。。

以下是一段au3代码,按道理函数无数据可读时会返回空串,并设置@Error<>0,可是我的机器上却是一个死循环,返回的值貌似“没有可用的数据了。”,感觉返回值怪怪的。你们看看是不是也是这情况?
$IDEkey="HKLM\SYSTEM\CurrentControlSet\Enum\PCIIDE\IDEChannel"
$ClassKey="HKLM\SYSTEM\CurrentControlSet\Control\Class"

dim $IDEch
$n=0
While 1
        $n=$n+1
        $TEMP=RegEnumkey($IDEkey,$n)
    MsgBox(0,"",$TEMP)
        If@error <> 0Then ExitLoop
        ReDim $IDEch
        $IDEch[$n]=$TEMP
WEnd


[ 本帖最后由 顽固不化 于 2008-7-3 16:27 编辑 ]

andywth 发表于 2008-7-3 15:50:16

问题出在第9行MsgBox(0,"",$TEMP)上.
因为当这个语句执行成功后,@error的值就变成0了,所以你会进入死循环.

将9和10行的内容换一下就可以了.

顽固不化 发表于 2008-7-3 16:26:44

原帖由 andywth 于 2008-7-3 15:50 发表 http://www.autoitx.com/images/common/back.gif
问题出在第9行MsgBox(0,"",$TEMP)上.
因为当这个语句执行成功后,@error的值就变成0了,所以你会进入死循环.

将9和10行的内容换一下就可以了.


说的对,@Error承接了MsgBox的错误了。谢谢
页: [1]
查看完整版本: 关于RegEnumkey()返回值问题。。。