我有一个这样的值92,3a,7f,58,4e,b5,fb,e5,df,25,a8,f4,3a,45,5d,89,ba,8f,4a,62
我现在要把它写入到注册表一个binary类型的键值里,用vb如何解决,我是用WScript.Shell的Regwrite方法做的,谢谢 

解决方案 »

  1.   

    dim aStr,aBin,i
    aStr = split("92,3a,7f,58,4e,b5,fb,e5,df,25,a8,f4,3a,45,5d,89,ba,8f,4a,62 ",",")
    aBin = vbNullString
    for i=0 to UBound(aStr)
        aBin = aBin & ChrB(CByte("&H" & aStr(i)))
    nextWshShell. RegWrite"...", aBin, "REG_BINARY"
      

  2.   

    ls的高手,这样不行啊,chrb转出来的是乱码,比如“92”转换后变成了个问号,然后再调用Regwrite的时候,会报参数类型不正确的错误
      

  3.   

    看看
    http://forums.devshed.com/visual-basic-programming-52/writing-reg-binary-in-vbscript-80781.html
      

  4.   

    Private Const HKEY_CLASSES_ROOT = &H80000000
    Private Const HKEY_CURRENT_USER = &H80000001
    Private Const HKEY_LOCAL_MACHINE = &H80000002
    Private Const HKEY_USERS = &H80000003
    Private Const HKEY_CURRENT_CONFIG = &H80000005
    Private Sub Command1_Click()'写入注册表
    Dim oReg As Object, uBinary
    Set oReg = GetObject("winmgmts:\\.\root\default:StdRegProv")
    uBinary = Array(&HA1, &H37, &HF3, &H2A)
    oReg.SetBinaryValue HKEY_LOCAL_MACHINE, "system", "myBinary", uBinary
    Set oReg = Nothing
    End SubPrivate Sub Command2_Click()'从注册表中读
    Dim oReg As Object, strValue
    Set oReg = GetObject("winmgmts:\\.\root\default:StdRegProv")
    oReg.GetBinaryValue HKEY_LOCAL_MACHINE, "system", "myBinary", strValue
    For i = 0 To UBound(strValue)
        List1.AddItem strValue(i)
    Next
    Set oReg = Nothing
    End Sub
      

  5.   

    使用WSH也可以:
    Dim aBin
    aBin=Array(&HA1,&H37, &HF3, &H2A)
    WshShell. RegWrite "...", aBin, "REG_BINARY"
      

  6.   

    第一种方式成功了,用wsh还是失败了,不过总算是解决了