regread 在win7下运行读取不全[已解决]
本帖最后由 daiyu116 于 2011-5-31 13:38 编辑假设现在在我win7操作系统上,HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Tcpip\Parameters\Interfaces\{C522872E-ED0D-4A4F-8653-05FDBE4B128E}下的键IPAddress数据类型是 REG_MULTI_SZ, 值为 10.10.10.1 10.10.10.2.
用下面这个代码,当读取到{C522872E-ED0D-4A4F-8653-05FDBE4B128E}这个键的时候
For $i= 1 to 5
$var = RegEnumKey("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces", $i)
$var2 = RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\"&$var,'IPAddress')
MsgBox(1,"1",$var2)
EndIf
Next
$var2返回的只是10.10.10.1 而没有10.10.10.2,但是在XP上就能得到两个值。
请问前辈们这怎么解决?autoit3版本:3.3.6.1 本帖最后由 netegg 于 2011-5-14 11:05 编辑
IPAddress有两个值?你什么网卡,怎么会有两个ip?nameserver吧 回复 2# netegg
网卡基本上都是可以设置两个IP值的,在TCP/IP高级设置里面 本帖最后由 netegg 于 2011-5-14 23:45 编辑
回复 3# daiyu116
那是网卡还是连接?是上面的还是下面的? 本帖最后由 netegg 于 2011-5-15 00:14 编辑
multi_sz类型需要变成数组输出才行,那是多行文字 你试试这样?看可以不
For $i= 1 to 5
$var = RegEnumKey("HKLM64\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces", $i)
$var2 = RegRead("HKLM64\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\"&$var,'IPAddress')
MsgBox(1,"1",$var2)
Next
本帖最后由 netegg 于 2011-5-15 03:40 编辑
回复 1#
不对呀,楼主自己试试
os:win7pro sp1
RegWrite('HKEY_CLASSES_ROOT\1','1', 'reg_multi_sz', '123456' &@crlf&'12345')
$var = RegRead('HKEY_CLASSES_ROOT\1','1')
MsgBox(0,0,$var)
RegDelete('HKEY_CLASSES_ROOT\1','1')
回复 7# netegg
今天测试就正常了,诡异。。。不管怎么样,还是谢谢各位
页:
[1]