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. securecrt简介

    SecureCRT是最常用的终端仿真程序,简单的说就是Windows下登录UNIX或Liunx服务器主机的软件,本文主要介绍SecureCRT的使用方法和技巧 VanDyke CRT 和 VanDyk ...

  2. MySQL如何执行关联查询

    MySQL中‘关联(join)’ 一词包含的意义比一般意义上理解的要更广泛.总的来说,MySQL认为任何一个查询都是一次‘关联’ --并不仅仅是一个查询需要到两个表的匹配才叫关联,索引在MySQL中, ...

  3. 64位系统中开启32位应用,特别是OLEDB

    IIS7 - Running 32-bit and 64-bit ASP.NET versions at the same time on different worker processes IIS ...

  4. SQL WHILE 循环中的游标 用例,SQL中实现循环操作

    --声明两个应用变量 declare @USERID_ int declare @ORGANISEUNITID_ int --声明一个变量计数用,开发中可以忽略 declare @i int=0 -- ...

  5. Linux启动网卡时出现RTNETLINK answers: File exists错误解决方法

    这里说一下,如果复制了虚拟机,设置新的MAC地址为什么? 在虚拟机的网络设置中--->高级.然后找到如下窗口,生成新的MAC地址即可. ----------------------------- ...

  6. MD5 加密 代码

    /*! 获取MD5 加密串 */ +(NSString *)getAuthorization:(NSString *)type Date:(NSDate *)date UserSecret:(NSSt ...

  7. 转:VC中MessageBox的常见用法

    一.关于MessageBox       消息框是个很常用的控件,属性比较多,本文列出了它的一些常用方法,及指出了它的一些应用场合.       1.MessageBox("这是一个最简单的 ...

  8. 安卓各文件存储路径汇总(Android file path)

    写下来,省得以后不记得到处翻: Environment.getDataDirectory() = /data Environment.getDownloadCacheDirectory() = /ca ...

  9. Linux下快速静态编译Qt以及Qt动态/静态版本共存

    Qt下静态编译Qt,根据我的经验,如果按照Windows下那种直接拿官方sdk安装之后的文件来编译是行不通的,需要直接下载Qt的source包,目前诺基亚的源码叫做qt-everywhere-open ...

  10. activity5 流程 入门

    http://blog.csdn.net/yangyi22/article/details/9225849 谢谢原文作者提供!