使用vs2005实现注册表的操作,删除及写入的键值如下所示:Extensibility,Version="7.0.3300.0",FileVersion="7.0.9466.0",PublicKeyToken="b03f5f7f11d50a3a",Culture="neutral"。用转义符\"写成如下形式:"Extensibility, Version = \"7.0.3300.0\""+", FileVersion = \"7.0.9466.0\""+", PublicKeyToken = \"b03f5f7f11d50a3a\""+", Culture =\"neutral\"";似乎只是输出到label或textBox中显示时有用,运行时在局部变量中查看为:"Extensibility, Version = \"7.0.3300.0\""+", FileVersion = \"7.0.9466.0\""+", PublicKeyToken = \"b03f5f7f11d50a3a\""+", Culture =\"neutral\"";提示找不到键值,请问在C#中如何实现该键值的删除及写入?

解决方案 »

  1.   

    \"
    这里的\的转义是在C#里面对string起作用的,所以你插入注册表的实际string是
    Extensibility,Version="7.0.3300.0",FileVersion="7.0.9466.0",PublicKeyToken="b03f5f7f11d50a3a",Culture="neutral"但是注册表里面的"也需要转义,前面加/====>string value = "Extensibility,Version=/\"7.0.3300.0/\",FileVersion=/\"7.0.9466.0/\",PublicKeyToken=/\"b03f5f7f11d50a3a/\",Culture=/\"neutral/\""
      

  2.   

    先谢谢silwol。
    不过按string value = "Extensibility,Version=/\"7.0.3300.0/\",FileVersion=/\"7.0.9466.0/\",PublicKeyToken=/\"b03f5f7f11d50a3a/\",Culture=/\"neutral/\""的写法,还是问题依旧,删除时提示无法找到该键值。
      

  3.   

    提问的一些内容写得不够清楚,现在再整理一下:
    在C#中用转义字符\",还是可以实现如键值:Extensibility,Version="7.0.3300.0",FileVersion="7.0.9466.0",PublicKeyToken="b03f5f7f11d50a3a",Culture="neutral"写入注册表的操作的,但实现不了对该键值的删除操作。请问删除时对双引号该如何处理?
      

  4.   

    这里先给各位道个歉,因为这个问题完全是本人的粗心造成的。
    原因是代码中所写键值字符串比注册表中的键值多了些空格,因此造成删除时提示找不到键值。用转义字符\"是完全可以实现带双引号键值的删除及写入注册表操作的。
    感谢silwol和devmiao对本贴的关注,结贴给分。