回 帖 发 新 帖 刷新版面

主题:[讨论]关于注册表编程的问题

我用SharpDevelop的,请问以下代码有何错误?
void Button1Click(object sender, System.EventArgs e){
    RegistryKey RK = Registry.CurrentUser;
    if(textBox1.Text=="qwer"&&textBox2.Text=="123456")
      {
                  RegistryKey RK2 = RK.CreateSubKey("\\Software");
        RK2.SetValue("Registed",1);
        RK2.Close();
    }
    MessageBox.Show("Error","Error");
}
它说 RegistryKey RK2 = RK.CreateSubKey("\\Software"); 行有错,但我不知道有何错?

回复列表 (共8个回复)

沙发

注册表的项目不能含反斜杠“\”

板凳

RegistryKey RK2 = RK.CreateSubKey("\\Software");
改成
RegistryKey RK2 = RK.CreateSubKey("Software");
CreateSubKey参数值是指你要操作的键,而“\\Software”找不到该键,所以提示出错。

3 楼

我还想知道怎样对注册表值进行比较,例如某键值是否为1,是的做什么,不是的又做什么,应用什么函数?
还有该如何判断某键值是否存在?

4 楼

GetValue
获取键值,如果键不存在,则返回null

5 楼

试过了,但总有错

6 楼

给出相关代码,要不没法看出哪里的问题

7 楼

又有一个问题了,注册表编程时,如何建立非字符串值,如DWORD值?

8 楼

指定SetValue的第三个参数RegistryValueKind

我来回复

您尚未登录,请登录后再回复。点此登录或注册