关于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 编辑 ] 问题出在第9行MsgBox(0,"",$TEMP)上.
因为当这个语句执行成功后,@error的值就变成0了,所以你会进入死循环.
将9和10行的内容换一下就可以了. 原帖由 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]