aardio 官方社区

 找回密码
 注册会员

QQ登录

只需一步,快速开始

搜索
查看: 9362|回复: 3

数组操作

[复制链接]

2

主题

2

回帖

22

积分

新手入门

积分
22
发表于 2013-9-25 10:01:40 | 显示全部楼层 |阅读模式
1.    点选至以下的子键:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Linkage
2.    在右侧点选 Bind.
3.    在键值表内, 选择 "\Device\NdisWanIp" , 使用剪切/粘贴法将该值移到最上。
4.    完成后按确定退出注册表编辑器.
我需要实现以上的操作

var reg = win.reg("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Linkage") //创建新的注册表路径  
var v = reg.queryValue("Bind") //读取值  

//上面获取到了bind中的值 并且赋值给了变量v 可以打印出来看看 v 中到底有什么 值 是以什么类型存在的 (C#中是以数组形式存在的)
//然后根据数据类型处理 变量 v


reg.setDwValue("Bind",v) //设置新值  

以上是我自己摸索写的不知道对不对,第三步中相关数组的操作不知道要怎么写?

12

主题

645

回帖

3938

积分

荣誉会员

子非魚、安知魚之樂

积分
3938
发表于 2013-9-25 11:09:39 | 显示全部楼层
不知道什么类型  就自己打印类型看看
  1. console.log( type ( v ) )
复制代码

2

主题

2

回帖

22

积分

新手入门

积分
22
 楼主| 发表于 2013-9-25 11:21:50 | 显示全部楼层
xauto 发表于 2013-9-25 11:09
不知道什么类型  就自己打印类型看看

谢谢!

9

主题

443

回帖

2546

积分

版主

积分
2546
发表于 2013-9-25 11:23:46 | 显示全部楼层
给你个完整的示例:
  1. import console;
  2. import win.reg;

  3. //打开注册表键
  4. var reg = win.reg("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Linkage")  
  5. var linkage,valueType = reg.queryValue("Bind") //读取值  

  6. //判断注册表值的类型
  7. if( valueType == 0x7/*_REG_MULTI_SZ*/ ) {
  8.        
  9.         //REG_MULTI_SZ是以'\0'分隔的复合字符串,下面的代码将其拆分为数组
  10.         var tLinkage = ..string.split( ..string.trimright(linkage,'\0'),'\0');
  11.         console.varDump( tLinkage )
  12.        
  13.         //将修改后的值写回注册表
  14.         reg.setMultiSzValue("Bind",..table.unpack(tLinkage) )
  15. }
复制代码

评分

参与人数 1 +50 收起 理由
leisurely + 50 赞一个!每次roger版主的回复必看!

查看全部评分

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|aardio.com|aardio 官方社区 ( 皖ICP备09012014号 )

GMT+8, 2026-7-19 08:48 , Processed in 0.067910 second(s), 26 queries .

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

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