该类实现了注册表读取、写入、删除、查找等功能。

实现代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Win32;namespace TagReceiver
{class RegistryHelper{/// <summary>/// 读取指定名称的注册表的值/// </summary>/// <param name="name"></param>/// <returns></returns>public string GetRegistryData(RegistryKey root, string subkey, string name) { string registData = ""; RegistryKey myKey = root.OpenSubKey(subkey, true);if (myKey != null){registData = myKey.GetValue(name).ToString();}return registData; } /// <summary>/// 向注册表中写数据/// </summary>/// <param name="name"></param>/// <param name="tovalue"></param> public void SetRegistryData(RegistryKey root, string subkey, string name, string value) { RegistryKey aimdir = root.CreateSubKey(subkey); aimdir.SetValue(name, value); } /// <summary>/// 删除注册表中指定的注册表项/// </summary>/// <param name="name"></param>public void DeleteRegist(RegistryKey root, string subkey, string name) { string[] subkeyNames;RegistryKey myKey = root.OpenSubKey(subkey, true);subkeyNames = myKey.GetSubKeyNames();foreach (string aimKey in subkeyNames) { if(aimKey == name)myKey.DeleteSubKeyTree(name); } } /// <summary>/// 判断指定注册表项是否存在/// </summary>/// <param name="name"></param>/// <returns></returns>public bool IsRegistryExist(RegistryKey root, string subkey, string name) { bool _exit = false; string[] subkeyNames; RegistryKey myKey = root.OpenSubKey(subkey, true);subkeyNames = myKey.GetSubKeyNames(); foreach(string keyName in subkeyNames) { if(keyName == name) { _exit = true; return _exit; } } return _exit; } }
}

如何调用:

读注册表:RegistryHelper rh = new RegistryHelper();string portName = rh.GetRegistryData(Registry.LocalMachine, "SOFTWARE\\TagReceiver\\Params\\SerialPort", "PortName");
写注册表:RegistryHelper rh = new RegistryHelper();rh.SetRegistryData(Registry.LocalMachine, "SOFTWARE\\TagReceiver\\Params\\SerialPort", "PortName", portName);

所有代码在WinXP SP3+VS2010下测试通过。

转载于:https://www.cnblogs.com/onedime/archive/2012/08/23/2652398.html

用C#写的一个注册表操作类相关推荐

  1. RegistryCallback routine(CmRegisterCallback 注册表操作监控介绍)

    RegistryCallback routine 过滤器驱动程序的常规RegistryCallback可以监视,阻止或修改一个注册表操作. 句法 C ++ NTSTATUS CmRegisterCal ...

  2. Windows核心编程_注册表操作和小练习程序关联

    大家有没有见过就是当我们下载一个软件比如视频播放器 下载之后我们电脑上的视频文件图标都变成了这个视频播放器的图标,然后打开时也是默认调用此视频播放器来播放 下面就给大家介绍如何在Windows平台上实 ...

  3. Delphi 注册表操作

    Delphi程序中可利用TRegistry对象来存取注册表文件中的信息. 一.创建和释放TRegistry对象 1.创建TRegistry对象.为了操作注册表,要创建一个TRegistry对象:ARe ...

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

    32位Delphi程序中可利用TRegistry对象来存取注册表文件中的信息. 一.创建和释放TRegistry对象 1.创建TRegistry对象.为了操作注册表,要创建一个TRegistry对象: ...

  5. delphi 注册表操作之(读取、添加、删除、修改)

    32位Delphi程序中可利用TRegistry对象来存取注册表文件中的信息. 一.创建和释放TRegistry对象 1.创建TRegistry对象.为了操作注册表,要创建一个TRegistry对象: ...

  6. 注册表操作(VC_Win32)

    注册表操作(VC_Win32) 数据类型 注册表的数据类型主要有以下四种: 显示类型(在编辑器中)  数据类型   说明 REG_SZ    字符串   文本字符串 REG_MULTI_SZ      ...

  7. 注册表操作C/C++(实战实现程序自启动)

    C/C++ 注册表操作 注册表概述 一.注册表数据结构 二.相关函数 1.创建键 RegCreateKeyEx() 2.关闭键RegCloseKey() 3.关闭键RegOpenKeyEx() 4.修 ...

  8. Windows 注册表操作 reg 命令详解

    reg命令是Windows提供的,它可以添加.更改和显示注册表项中的注册表子项信息和值. 1,reg add 将新的子项或项添加到注册表中  语法:reg add KeyName [/v EntryN ...

  9. QSettings配置读写-win注册表操作-ini文件读写

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QSettings配置读写-win注册表操作-ini文件读写     本文地址:http:// ...

最新文章

  1. 叶际微生物定殖模型研究进展
  2. 直播 | 腾讯天衍实验室张子恒:详细解读天衍实验室知识图谱对齐技术
  3. QT的QImage类的使用
  4. Oracle怎么算开始一个会话,oracle – 随机获取ORA-08177只有一个活动会话
  5. 国土空间规划的体系和内容
  6. python使用pycurl抓取获取12306验证码
  7. 8.BLE---错误码
  8. 机器学习三个部分:输入、算法、输出 资料收集
  9. 安卓手机运行ios教程_安卓手机充电提示音教程
  10. 条件随机场(CRF)小结
  11. DocsBuilderGUI 工具使用介绍
  12. GTP协议循序渐进(三)----通过实例了解TEID
  13. 接收灵敏度dbm与W
  14. openstack部署过程5
  15. 比Office365、WPS更好用的最新版OpenOffice
  16. AndroMDA Getting started(七)
  17. Java基础(二)集合
  18. 上周,维(系数字世界真)谛技术开了个大会
  19. 高绩效团队的建设与管理
  20. win8.1装VHD的XP

热门文章

  1. Oracle闪回详解
  2. 通过实现继承TabActivity并且实现TabContentFactory的方法创建选项卡的一点心得
  3. warning: function declaration isn’t a prototype解决方法
  4. python语言特点依赖平台吗_python语言的特点
  5. python栈与队列的封装
  6. 高露洁、悦诗风吟、Benefit,618大促的数字化难题都是如何解决的?
  7. 换个角度入门 K8s
  8. 制作精良、意犹未尽的异色推理小剧场《Tangle Tower 缠结塔》
  9. 《幽灵行者》:近期最酷炫的赛博朋克游戏之一
  10. 在狮驼岭,孙悟空救了猪八戒,猪八戒为何不帮孙悟空?