1.简介操作

        //设置注册值
private void Button_Click(object sender, RoutedEventArgs e)
{
//路径及间隔符号要正确
//1.如果指定路径不存在,则创建
//2.如果指定键存在,则覆盖值
string path = "HKEY_CURRENT_USER\\myRegOne";
Registry.SetValue(path, "Expend", "hellow world!"); MessageBox.Show("设置成功");
}
//获取指定路径的键对应的值
private void Button_Click_1(object sender, RoutedEventArgs e)
{
//如果不存在则报错
//1.如果指定路径不存在,获取的结果为null
string path = "HKEY_CURRENT_USER\\myRegOne";
object result = Registry.GetValue(path, "Version", 1.0); lblOne.Content = result.ToString();
}

2.项操作:

       //创建项
private void Button_Click(object sender, RoutedEventArgs e)
{
RegistryKey lm = Registry.CurrentUser;
//打开myRegOne
RegistryKey myRegOne = lm.OpenSubKey("myRegOne", true);//指定是否具有写权限 if (myRegOne != null)
{
//新建子项,如果存在则覆盖
RegistryKey mySubKey = myRegOne.CreateSubKey("mySubKey_Three", RegistryKeyPermissionCheck.ReadWriteSubTree);
MessageBox.Show("创建成功!");
}
else
{
myRegOne = lm.CreateSubKey("myRegOne", RegistryKeyPermissionCheck.ReadWriteSubTree);
}
myRegOne.Close();
} //打开项
private void Button_Click_1(object sender, RoutedEventArgs e)
{
RegistryKey lm = Registry.CurrentUser;
//打开
RegistryKey myRegOne = lm.OpenSubKey("myRegOne"); //获取所有的项
string[] subKeyNames = myRegOne.GetSubKeyNames();
listSubKey.Items.Clear();
foreach (var item in subKeyNames)
{
listSubKey.Items.Add(item);
} //获取所有的键值
string[] valueNames = myRegOne.GetValueNames();
listNameValue.Items.Clear();
foreach (var item in valueNames)
{
listNameValue.Items.Add(item + "---" + myRegOne.GetValue(item, "没有设置值"));
} myRegOne.Close();
} //删除项
private void Button_Click_2(object sender, RoutedEventArgs e)
{
RegistryKey cu = Registry.CurrentUser;
RegistryKey myRegOne = cu.OpenSubKey("myRegOne", true);//指定是否具有写权限 //删除,指定如果操作失败时是否抛出异常
myRegOne.DeleteSubKey("mySubKey_Three", false);
myRegOne.Close();
MessageBox.Show("删除成功!");
} //判断项是否存在
private void Button_Click_3(object sender, RoutedEventArgs e)
{
RegistryKey cu = Registry.CurrentUser;
//打开项
RegistryKey myRegOne = cu.OpenSubKey("myRegOne");
if (myRegOne != null)
{
MessageBox.Show("指定项'myRegOne'存在!");
}
}

3.值操作:

        //设置或新建值
private void Button_Click(object sender, RoutedEventArgs e)
{
RegistryKey cu = Registry.CurrentUser;
//打开项,指定写权限
RegistryKey myRegOne = cu.OpenSubKey("myRegOne", true);
if (myRegOne != null)
{
//创建项,如果存在则覆盖
myRegOne.SetValue("Version", "1.23");
myRegOne.SetValue("Enable", , RegistryValueKind.DWord);
myRegOne.SetValue("Expend", "hello world!", RegistryValueKind.ExpandString);
MessageBox.Show("设置值成功");
}
cu.Close();
} //读取值
private void Button_Click_1(object sender, RoutedEventArgs e)
{
RegistryKey cu = Registry.CurrentUser;
//打开项
RegistryKey myRegOne = cu.OpenSubKey("myRegOne", true);
if (myRegOne != null)
{
string[] names = myRegOne.GetValueNames();
listOne.Items.Clear();
foreach (var item in names)
{
listOne.Items.Add(item + "----" + myRegOne.GetValue(item));
}
}
cu.Close();
} //删除值
private void Button_Click_2(object sender, RoutedEventArgs e)
{
RegistryKey cu = Registry.CurrentUser;
//打开项,指定写权限
RegistryKey myRegOne = cu.OpenSubKey("myRegOne", true);
if (myRegOne != null)
{
myRegOne.DeleteValue("Expend");
MessageBox.Show("删除成功!");
}
cu.Close();
}
//判断值是否存在
private void Button_Click_3(object sender, RoutedEventArgs e)
{
RegistryKey cu = Registry.CurrentUser;
//打开项
RegistryKey myRegOne = cu.OpenSubKey("myRegOne");
if (myRegOne != null)
{
if (myRegOne.GetValue("Expend") != null)
{
MessageBox.Show("该值存在");
}
}
}

C#简单注册表操作实例的更多相关文章

  1. delphi 注册表操作(读取、添加、删除、修改)完全手册

    DELPHI VS PASCAL(87)  32位Delphi程序中可利用TRegistry对象来存取注册表文件中的信息. 一.创建和释放TRegistry对象 1.创建TRegistry对象.为了操 ...

  2. Delphi的注册表操作

    转帖:Delphi的注册表操作 2009-12-21 11:12:52 分类: Delphi的注册表操作 32位Delphi程序中可利用TRegistry对象来存取注册表文件中的信息.     一.创 ...

  3. 【读书笔记】C#高级编程 第二十四章 文件和注册表操作

    (一)文件和注册表 对于文件系统操作,相关的类几乎都在System.IO名称空间中,而注册表操作由System.Win32名称空间中的类来处理. (二)管理文件系统 System.MarshalByR ...

  4. CRegKey 注册表操作

    CRegKey 注册表操作 标签: accessnulluserpathbyteie 2011-11-03 13:55 3477人阅读 评论(0) 收藏 举报  分类: win32(7)  1.简介 ...

  5. 注册表操作 Microsoft.Win32.Registry与RegistryKey类

    一.注册表操作简介 Registry 类,RegistryKey 类提供了操作注册表的接口 RegistryValueKind:用于指定操作注册表的数据类型 一.注册表巢 在注册表中,最上面的节点是注 ...

  6. MFC学习 文件操作注册表操作

    c读写文件 void CFileView::OnRead() { FILE *pFile = fopen("1.txt", "r"); /*char ch[10 ...

  7. C# 我的注册表操作类

    using System; using System.Collections.Generic; using System.Text; using Microsoft.Win32; using Syst ...

  8. C#注册表操作类--完整优化版

    using System; using System.Collections.Generic; using System.Text; using Microsoft.Win32; namespace ...

  9. 《天书夜读:从汇编语言到windows内核编程》八 文件操作与注册表操作

    1)Windows运用程序的文件与注册表操作进入R0层之后,都有对应的内核函数实现.在windows内核中,无论打开的是文件.注册表或者设备,都需要使用InitializeObjectAttribut ...

随机推荐

  1. C++拾遗(十二)C++代码重用

    “has-a”关系 通常有两种方法实现: 1.被包含,本身是另一个类的对象. 2.私有或者保护继承. 主要讨论第二种方法,在继承时使用private关键字(或者不用任何关键字,默认就是私有的). 使用 ...

  2. datagrid公用字段扩展

    easyui 1.3.5扩展 datagrid 控件 扩展公用段 把 (9082行) var opts = $.data(_698,"datagrid").options; 改成 ...

  3. php的冒泡算法

    <?php /* 冒泡算法  * @para $arr 传人进去排序的数组  * @return $newArr 排序之后的数组  */   function maopao($arr){     ...

  4. PHP如何防止SQL注入及开发安全 53

    PHP如何防止SQL注入及开发安全 [php]  function inject_check($sql_str) {     $check=eregi('select|insert|update|de ...

  5. CentOS6.4 GOOGLE chrome install

    yum install http://people.centos.org/hughesjr/chromium/6/i386/RPMS/chromium-28.0.1500.45-205727.i686 ...

  6. Js打开网页后居中显示

    使用JavaScript定义打开网页后居中显示,并可为窗口设置大小,使用“window.open”方法打开新窗口:先来看完整的代码及调用方法: <html xmlns="http:// ...

  7. C++Primer charpter1.

    一.输入输出流 endl:会刷新buffer.刷新之后你才能看到.不手动用endl的话,就只能依靠系统自动刷.程序崩溃的话,你看到的调试信息可能是错误的. >>:   两个连续的符号 ci ...

  8. JavaScript常用

    打印日志 console.log 类型判断 第一种方式var type = Object.prototype.toString.call(list);console.log(type);第二种方式ty ...

  9. 第三方账号登录--QQ登录,以及QQ微博账号登录

    在QQ登陆测试的时候,刚申请正常登陆,但是由于app未上线,或许是腾讯升级造成的个别时候QQ登陆无法成功会提示下图代码,功能上没啥问题,已经达到 测试效果了.附上腾讯错误代码图(大家测试QQ登陆的时候 ...

  10. DUBBO安装配置注意事项

    DUBBO安装配置注意事项 参考URL:http://blog.csdn.net/lichunan/article/details/40349645 ====== 管理端: 记得更改TOMCAT的端口 ...