ret = RegSetValue(hKey, lpSubKey, REG_SZ, lpData, cbData)
关于cbData
第1种说法:cbData=len(lpData)+1
第2种说法:cbData=len(lpData)
第3种说法:cbData=0&
第4种说法:cbData=MAX_PATH(MAX_PATH=260)
似乎这4种说法都成立,都能够成功修改注册表,并且返回值都为0。
这么说来,cbData就无意义了?其值可以随便设置了?

解决方案 »

  1.   

    可能要看以什么形式写入。。
    字符串,还是DWORD,还是二进制,可能这个参数需要不同。
      

  2.   

    我一般是写入字符串,cbData试过几个值,都能成功
      

  3.   

    我试过了,二进制写入不了,因为RegSetValue函数仅能修改注册表每个项中的“默认”值,而“默认”值必须是字符串,因此,此函数只能写入字符串值,二进制不是用这个函数写的。
      

  4.   

    RegSetValue函数仅能修改注册表每个项中的“默认”值?那修改非默认值用哪个函数呢?