找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 15375|回复: 4

[已解决]VBS将字符串转换为二进制并写入注册表

[复制链接]
发表于 2009-7-13 17:11:53 | 显示全部楼层 |阅读模式
下午发了个帖没说清楚,再说明一下,请大家帮忙看看如何用vbs实现。写这个脚本的目的是将输入的字符串转换为二进制并写入注册表,这个注册表键值格式要求每个二进制数值之间需插入"00"、最后以"0000"结尾。例如1234字符串对应的二进制代码为:31323334,按键值格式要求修改后应为:31 00 32 00 33 00 34 00 00 00。
以下为之前写的代码,但因处理后仍为字符串无法写入注册表。对vbs也不大熟,大家帮忙看看如何才能实现,谢了。
  1. 'Define constant
  2. Const HKEY_CR = &H80000000
  3. Const REG_BINARY = 3
  4. 'string varable
  5. strComputer = "."
  6. strKeyPath = "11223344"
  7. strValue = "BBAA"
  8. 'Input string1
  9. dim Str2Hex
  10. string1 = InputBox("请输入")
  11.         Dim i, sResult
  12.         sResult = ""
  13.         For i = 1 To Len(string1)
  14.                 sResult = sResult & "&H" & Hex(Asc(Mid(string1, i, 1))) & "," & "&H00,"
  15. if i = Len(string1) then
  16.   sResult = sResult & "&H00,&H00"
  17. end if
  18.         Next
  19.         Str2Hex = sResult
  20. wsh.echo Str2Hex
  21. 'binary array
  22. Dim arrData
  23. arrData = Array(Str2Hex)
  24. 'registry object
  25. Set objRegistry = GetObject("winmgmts:{impersonationLevel=impersonate}!\" & strComputer & "\root\default:StdRegProv")
  26. 'create registry key
  27. objRegistry.CreateKey HKEY_CR, strKeyPath  
  28. 'setup the binary keyvalue
  29. retcode = objRegistry.SetBinaryValue(HKEY_CR, strKeyPath, strValue, arrData)
复制代码

[ 本帖最后由 fsed 于 2009-7-14 11:42 编辑 ]

评分

参与人数 1PB +2 收起 理由
keen + 2 感谢主动给标题标注[已解决]字样

查看全部评分

发表于 2009-7-13 18:23:51 | 显示全部楼层
都说了类型不匹配。。。

"&H78" 是字符串
&H78是一个数
 楼主| 发表于 2009-7-14 09:46:07 | 显示全部楼层

回复 2楼 的帖子

因为字符串等待输入无法直接写入脚本,代码怎么修改呢?
 楼主| 发表于 2009-7-14 10:11:24 | 显示全部楼层
咋没人关注呢,有没有热心的版主帮忙看看啊
 楼主| 发表于 2009-7-14 11:43:48 | 显示全部楼层
上网搜索了一下搞定了,使用split替代array函数即可。不过还是感谢版主的关注。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 05:07 , Processed in 0.026806 second(s), 12 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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