找回密码
 加入
搜索
查看: 1932|回复: 1

[系统综合] [已解决]循环判断值项返回子项名称的问题

[复制链接]
发表于 2011-10-13 16:00:42 | 显示全部楼层 |阅读模式
本帖最后由 elexy 于 2011-10-13 21:37 编辑

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\CAR]

[HKEY_CURRENT_USER\Software\CAR\奔驰]
"OnLine"=dword:00000001

[HKEY_CURRENT_USER\Software\CAR\奥迪]
"OnLine"=dword:00000001

[HKEY_CURRENT_USER\Software\CAR\宝马]
"OnLine"=dword:00000000


$regpath = "HKCU\SOFTWARE\CAR\"

CAR项下 可能有子项,也可能无子项,也可能有多个。

使用RegEnumKey读取子项倒是简单,但是有个麻烦的地方,就是还要判断每个子项下的 OnLine值项是否为 dword:00000001,1则返回子项名称,0则忽略。

最后的结果输入不要用数组,直接变量输出每个名称加 | 分隔符即可,一个都没有结果就是 ""。

像上述例子就是输入结果就是:  奔驰|宝马
发表于 2011-10-13 16:37:32 | 显示全部楼层
有啥意义吗?冲量回帖:

$i = 0 ,$var1,$var2
$regpath = "HKCU\SOFTWARE\CAR";这个CAR后面好像不应该加\的
$jieguo = ""

While 1  
        $i+=1
        $var1 = RegEnumKey($regpath,$i);遍历子键名
        If @error <> 0 then ExitLoop
        $var2 = RegRead($regpath&"\"&$var1,"OnLine") ;读online子项
        If $var2 = "00000001" Then $jieguo = $jieguo&"|"&$var1
WEnd

MsgBox(0,0,$jieguo)
发表于 2011-10-14 14:53:12 | 显示全部楼层
一个办法。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-10-1 15:12 , Processed in 0.071441 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表