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. sql查询语句心得

    1)where 有多个用in ,一个用= 2)自身链接 select A.Sno from S A,S B where A.Sname='a' AND A.City=B.City)) 3)外链接(同时 ...

  2. CIPAddressCtrl控件

    CIPAddressCtrl m_ipCtrl; 1.获取控件IP值 int GetAddress(byte& byteFirst, byte& byteTwo, byte& ...

  3. CURL请求接口

    private function  http_curl($url,$data=null){ //1.初始化,创建一个新cURL资源                 $ch = curl_init(); ...

  4. Hibernate对象的状态和映射

    一. Hibernate对象的状态 实体对象的三种状态: 1) 暂态(瞬时态)(Transient)---实体在内存中的自由存在,它与数据库的记录无关. po在DB中无记录(无副本),po和sessi ...

  5. nginx读书日志

    2016.12.20 nginx 功能特性: 既可以作为http服务器,也可以作为反向代理服务器或者邮件服务器 基本服务:处理静态文件,处理索引文件以及支持自动索引 nginx服务器中主要由proxy ...

  6. JAVA三大框架SSH的各自作用

        一.Spring Spring是一个解决了许多在J2EE开发中常见的问题的强大框架. Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯. Spring的 ...

  7. ModelSim仿真入门

    ModelSim仿真入门之一:软件介绍 编写这个教程之前,为了让不同水平阶段的人都能阅读,我尽量做到了零基础入门这个目标,所有的操作步骤都经过缜密的思考,做到了详细再详细的程度. 如果您是FPGA开发 ...

  8. ubuntu profile-environment-bashrc 添加环境变量

    Ubuntu Linux系统环境变量配置文件: /etc/profile : 在登录时,操作系统定制用户环境时使用的第一个文件 ,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. ...

  9. Gmail 一些需注意的事

    display none 的问题 如果我们写html 然后用 mail server 发给gmail client . 如果内容涉及 display:none , 请加一个 important 比如 ...

  10. delphi根据进程PID获取程序所在路径的函数(用OpenProcess取得句柄,用GetModuleFileNameEx取得程序名)

    uses psapi; {根据进程PID获取程序所在路径的函数}function GetProcessExePath(PID: Cardinal): string;varpHandle: THandl ...