vbs(with WMI) 注册表操作

'1, 注册表读,写,删,注意区分主键 ,键值的区别,若为主键(key),则在strName后边加上反斜杠,键值则不用
Dim WshShell, bKey
Set WshShell = WScript.CreateObject("WScript.Shell")
'写key,后边值类型可自动转换
WshShell.RegWrite "HKCU/Software/ACME/FortuneTeller/",0
'写value
WshShell.RegWrite "HKCU/Software/ACME/FortuneTeller/Sub",21312,"REG_DWORD"
'RegRead注意参数需要加括号
WScript.Echo WshShell.RegRead("HKCU/Software/ACME/FortuneTeller/Sub")
'如果想创建某一个没有数据和数据类型的key,可通过创建一子key,然后删除子key的方式来实现
'但还有一个问题,若是该key已经存在怎么办呢?这就需要咱先遍历保存
'所以比较好的方法是用下边wmi的CreateKey
WshShell.RegDelete ("HKCU/Software/ACME/FortuneTeller/Sub")


'2, 使用WMI方法
Const HKEY_CURRENT_USER = &H80000001
'Const HKEY_CURRENT_MACHINE = &H80000002
Set objRegistry = GetObject ("winmgmts://./root/default:StdRegProv")
strKeyPath = "Software/ACME/FortuneTeller/Sub"
'十进制数组
arrValues = Array(0,144,232,149,164,78,98,99,58,83)

'由于一开始没重新打开注册表去查值

'发现strKeyPATH不存在,且set不成功(其实已经成功,strKeyPATH也存在了),Return = 0 And Err.Number = 0

'所以比较稳妥的是先调用AddKey
'通过返回值再决定是否进行下一步操作
Return = objRegistry.CreateKey(HKEY_CURRENT_USER, strKeyPath)
If (Return = 0) And (Err.Number = 0) Then   
    Wscript.Echo "key added successfully"
    Return = objRegistry.SetBinaryValue(HKEY_CURRENT_USER, strKeyPath, "Cache", arrValues)
  If (Return = 0) And (Err.Number = 0) Then   
      Wscript.Echo "value set successfully"
  Else
      Wscript.Echo "CreateKey failed. Error = " & Return
  End If
Else
    Wscript.Echo "CreateKey failed. Error = " & Err.Number
End If

'strValue = "个人文件夹"
'objRegistry.SetStringValue HKEY_CURRENT_USER, strKeyPath,"_LabelFromReg", strValue
'
'写DWORD:
'objRegistry.SetDWORDValue HKEY_CURRENT_USER, strKeyPath, strValueName, dwValue
'删除键值:
'objRegistry.DeleteValue HKEY_CURRENT_USER, strKeyPath, strValueName
'
'删除主键:
'objRegistry.DeleteKey HKEY_CURRENT_USER, strKeyPath

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值