关于删除注册表子键得问题

时间:2022-06-01 18:02:35
if(radioButtonzhuhaiset.Checked)
{
if(key1.GetValue("AutoConfigURL")!=null)
{key1.DeleteSubKey("AutoConfigURL");}


key1.SetValue("ProxyServer",
"ftp=61.143.56.21:3128;gopher=61.143.56.21:3128;http=61.143.56.21:3128;https=61.143.56.21:3128;socks=61.143.56.21:1080");
key1.SetValue("ProxyOverride","172.16.*;211.66.*;192.168.*;*.zsu.edu.cn;202.128.*;172.31.*;*.gzsums.edu.cn;202.116.*;*.sysu.edu.cn;<local>");
}

里面key1.DeleteSubKey("AutoConfigURL")
用来删除AutoConfigURL键得

我已经在IE设置---连接----局域网设置---使用自动配置脚本  里面填写了内容
,而且我已经检查过注册表明明有这项

为什么程序运行时,异常还是提示“该子项不存在,因此无法删除子项目录树”

5 个解决方案

#1


楼主没有搞清子键和值的区别!
.......................
if(key1.OpenSubKey("AutoConfigURL")!=null)
{key1.DeleteSubKey("AutoConfigURL");}
...........................
                                                   Wish U Good Luck
                                                   接分!

#2


那AutoConfigURL不就是键,然后包含一个http://*******得键值吗??

OpenSubKey(string name)
OpenSubKey(string name,,bool writable)
name参数表示要打开得子键名称或全路径名,writable参数表示被打开得主键是否可以被修改

GetValue(string name)
name 参数表示键得名称,返回类型是一个object类型。如果方法中指定的键不存在,则返回一个null

                                                     -----------引用书本

而且按楼上得方法还解决不到问题哦,发生的情况是:虽然没有出错,但程序执行后还是没有删除AutoConfigURL这个键阿

#3


//写注册表
RegistryKey regWrite;
//往HKEY_CURRENT_USER主键里的Software子键下写一个名为“Test”的子键
//如果Test子键已经存在系统会自动覆盖它
regWrite = Registry.CurrentUser.CreateSubKey("Software\\Test");
//往Test子键里添两条数据项,一条名为"Name",另一条名为"Sex"
//值分别是"luolie","男"
regWrite.SetValue("Name","luolie");
regWrite.SetValue("Sex","男");
//关闭该对象
regWrite.Close();


读注册表
RegistryKey regRead;
//读取HKEY_CURRENT_USER主键里的Software子键下名为“Test”的子键
regRead= Registry.CurrentUser.OpenSubKey("Software\\Test",true);
if(regRead==null) //如果该子键不存在
{
MessageBox.Show("No Data!");
}
else

         object obj= regRead.GetValue("Name");  //读取“Name”项的值
         textBox1.Text = obj.ToString();       //显示在TextBox里

//关闭该对象
oReg.Close();

#4


很谢谢楼上

我想我现在应该大概弄明白键值与键值的值得关系

那么,我是否应该这样问:怎样删除一个键值?

#5


我已经通过MSDN知道了~

很感激你~~谢谢

#1


楼主没有搞清子键和值的区别!
.......................
if(key1.OpenSubKey("AutoConfigURL")!=null)
{key1.DeleteSubKey("AutoConfigURL");}
...........................
                                                   Wish U Good Luck
                                                   接分!

#2


那AutoConfigURL不就是键,然后包含一个http://*******得键值吗??

OpenSubKey(string name)
OpenSubKey(string name,,bool writable)
name参数表示要打开得子键名称或全路径名,writable参数表示被打开得主键是否可以被修改

GetValue(string name)
name 参数表示键得名称,返回类型是一个object类型。如果方法中指定的键不存在,则返回一个null

                                                     -----------引用书本

而且按楼上得方法还解决不到问题哦,发生的情况是:虽然没有出错,但程序执行后还是没有删除AutoConfigURL这个键阿

#3


//写注册表
RegistryKey regWrite;
//往HKEY_CURRENT_USER主键里的Software子键下写一个名为“Test”的子键
//如果Test子键已经存在系统会自动覆盖它
regWrite = Registry.CurrentUser.CreateSubKey("Software\\Test");
//往Test子键里添两条数据项,一条名为"Name",另一条名为"Sex"
//值分别是"luolie","男"
regWrite.SetValue("Name","luolie");
regWrite.SetValue("Sex","男");
//关闭该对象
regWrite.Close();


读注册表
RegistryKey regRead;
//读取HKEY_CURRENT_USER主键里的Software子键下名为“Test”的子键
regRead= Registry.CurrentUser.OpenSubKey("Software\\Test",true);
if(regRead==null) //如果该子键不存在
{
MessageBox.Show("No Data!");
}
else

         object obj= regRead.GetValue("Name");  //读取“Name”项的值
         textBox1.Text = obj.ToString();       //显示在TextBox里

//关闭该对象
oReg.Close();

#4


很谢谢楼上

我想我现在应该大概弄明白键值与键值的值得关系

那么,我是否应该这样问:怎样删除一个键值?

#5


我已经通过MSDN知道了~

很感激你~~谢谢