向注册表写文本时最后几位总是写不进去
====================================================================
这是UniCode->ANSI的转化问题
VB用的是UniCode,汉字、英文都代表一个UniCode字符
而系统用的ANSI字符集,汉字占两个字节
虽然以ByVal String方式发送字符串会把字符串自动转换成ANSI再发送,但是在读写注册表时有一个参数决定系统接受的字符串长度(比如RegSetValueEx的cbData参数),这个时候绝对不能用Len取得字符串长度(汉字占一个UniCode字符,就是在这里少了),要这样:LenB(StrConv(WriteStr,vbFromUniCode))
最好不要ByVal String
把字符内容保存到Byte数组发送Dim WriteStr as string
dim WriteBytes() as byte
Dim LenStr as longWriteBytes=StrConv(WriteStr,vbFromUniCode)
LenStr=LenB(WriteBytes)RegSetValueEx hKey, 键名, 0, REG_SZ, WriteBytes(0), LenStr

解决方案 »

  1.   

    删除帖子的规则是什么?  Top 
        删除贴子:
        1、当贴子没有其他人回复过的时候(只有帖主自己的回复或根本没回复时),贴主有权利删除自己的贴子;有其他人回复,贴主就不允许删除贴子了。这时候只有版主才有权力删除贴子。
        2、删除贴子,同时,贴子的回复也会被删除;同时返回该贴贴主可用分
        3、如果是已结贴子,会扣除得分人的专家分(已结技术版块贴子)或者可用分(扩充话题旧贴区的已结贴子)
        4、如果不是贴主删除的贴子,会扣除贴主5分信誉分。
        删帖方法:在帖子标题的索引页面点右边的“管理”(如果已经进入帖子,也可以点击页面的顶部或底部的“管理”),进入管理页面,单击右边的“删除帖子”,会弹出对话框询问您是否确认删除,点击“确认”按钮,等待页面重新生成即可。
      

  2.   

    我给你一个,做好了很多功能的。dll。
    [email protected]
      

  3.   

    谢谢 zyl910(910:分儿,我来了!) 和 coolsky(天心) 的参与!
    这个问题我基本搞定了,只是删除某一SubKey下的所有SubKey不太顺利,在Win2K中只用RegDeleteKey不行,如果还有SubKey,连指定的都删不掉。我想用RegDeleteKey和RegEnumKeyEx,递归删除。那个问题我也拿出100分,能帮我搞定吗?http://www.csdn.net/expert/topic/1016/1016404.xml?temp=6.032962E-02