已解决 这是否RegEnumKey()的Bug
本帖最后由 Qokelate 于 2011-12-9 08:52 编辑For $i = 1 To 10
Local $var = RegEnumKey("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}", $i)
If @error <> 0 Then ExitLoop
MsgBox(4096, "SubKey #" & $i & " under HKLM\Software: ", $var)
Next
For $i = 1 To 10
Local $var = RegEnumKey("HKEY_LOCAL_MACHINE\SYSTEM", $i)
If @error <> 0 Then ExitLoop
MsgBox(4096, "SubKey #" & $i & " under HKLM\Software: ", $var)
Next
1.第一个代码第一次返回的是第一个子项的下一层而不是返回子项名称,按理说应该是返回子项才对的啊,怎么变成2才是返回子项了
2.如果是返回子项下一层,何解第二个代码返回的却又是子项名称了? 想不明白
哎, 一大早的眼花,{:face (288):} 本帖最后由 netegg 于 2011-12-9 08:25 编辑
enumkey的第一个参数是什么,楼主再好好看看.还有,这个索引不是按显示顺序的,好象是先把没有子项的枚举完才开始枚举有子项的项(分别按字母顺序)(记得不是太清楚)
另外,别什么都是bug,先看看自己的代码再说bug,找bug可不是一个代码两个代码就能定的 enumkey的第一个参数是什么,楼主再好好看看
netegg 发表于 2011-12-9 08:19 http://www.autoitx.com/images/common/back.gif
RegEnumKey ( "键名", 序数 )
键名 要读取的注册表的根键或其子键.
序数 要获取的子键序数,从1开始.
子键序数,我理解啊,但为啥在例1中,子键的子键变成序数1 而子键却是序数2?
如果子键序数是2的话,何解例2中子键的序数又变成是1?你运行下代码再对比结果 回复 3# Qokelate
你这两个键名都不一样,没什么可比之处 回复Qokelate
你这两个键名都不一样,没什么可比之处
netegg 发表于 2011-12-9 08:29 http://www.autoitx.com/images/common/back.gif
你运行下代码看下? 实践见真知,代码1中的注册表明显读取多了一层,而代码2不会 本帖最后由 netegg 于 2011-12-9 08:33 编辑
回复 5# Qokelate
什么叫多了一层,你那个本来就是第二层的键,当然会比第二个多一层,
要不你把结果贴出来看看,把枚举的那个$key带上 回复Qokelate
什么叫多了一层,你那个本来就是第二层的键,当然会比第二个多一层,
要不你把结果贴出来 ...
netegg 发表于 2011-12-9 08:32 http://www.autoitx.com/images/common/back.gif
看图,那个 Connection 结果根本不应该是返回的结果 本帖最后由 netegg 于 2011-12-9 08:47 编辑
你那到底返回的是哪个,如果是{***}就对了,返回不到connections 你那到底返回的是哪个,如果是{***}就对了,返回不到connections
netegg 发表于 2011-12-9 08:44 http://www.autoitx.com/images/common/back.gif
我看错了,不好意思,一大早的眼花了,郁闷。。。 有两个很相似的键Connection和Connection<空格> 哇哈哈哈,及感染还有这等事情,增大眼睛。
页:
[1]