当前位置: 首页 > news >正文

注册表操作类

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Win32;//操作注册表的命名空间

namespace WinXPReg
{
 

  public class RegCtrl
    {
        
private static RegistryKey rootkey;
        //
构造根键为RootKey的注册表操作类,缺省打开Current_User主键 
        public RegCtrl(string RootKey)
        {
            
switch (RootKey.ToUpper())
            {
                
case "CLASSES_ROOT":
                    rootkey 
= Registry.ClassesRoot;
                    
break;
                
case "CURRENT_USER":
                    rootkey 
= Registry.CurrentUser;
                    
break;
                
case "LOCAL_MACHINE":
                    rootkey 
= Registry.LocalMachine;
                    
break;
                
case "USERS":
                    rootkey 
= Registry.Users;
                    
break;
                
case "CURRENT_CONFIG":
                    rootkey 
= Registry.CurrentConfig;
                    
break;
                
case "DYN_DATA":
                    rootkey 
= Registry.DynData;
                    
break;
                
case "PERFORMANCE_DATA":
                    rootkey 
= Registry.PerformanceData;
                    
break;
                
default:
                    rootkey 
= Registry.CurrentUser;
                    
break;
            }
        }

        
// 读取路径为keypath,键名为keyname的注册表键值,缺省返回def 

        public string GetRegVal(string keypath, string keyname, string def)
        {
            
try
            {
                RegistryKey key 
= rootkey.OpenSubKey(keypath);
                
return key.GetValue(keyname, (object)def).ToString();
            }
            
catch
            {
                
return def;
            }
        }

        
/// /// 设置路径为keypath,键名为keyname的注册表键值为keyval /// /// /// /// 
        public bool SetRegVal(string keypath, string keyname, string keyval)
        {
            
try
            {
                RegistryKey key 
= rootkey.OpenSubKey(keypath, true);
                key.SetValue(keyname, (
object)keyval);
                
return true;
            }
            
catch
            {
                
return false;
            }
        }
        
//创建路径为keypath的键 
        public RegistryKey CreateRegKey(string keypath)
        {
            
try
            {
                
return rootkey.CreateSubKey(keypath);
            }
            
catch
            {
                
return null;
            }
        }
        
//删除路径为keypath的子项
        public bool DelRegSubKey(string keypath)
        {
            
try {
                rootkey.DeleteSubKey(keypath); 
return true
            }
            
catch 
            { 
                
return false;
            }
        }

        
// 删除路径为keypath的子项及其附属子项 
        public bool DelRegSubKeyTree(string keypath)
        {
            
try
            {
                rootkey.DeleteSubKeyTree(keypath);
                
return true;
            }
            
catch
            {
                
return false;
            }
        }
        
//删除路径为keypath下键名为keyname的键值
        public bool DelRegKeyVal(string keypath, string keyname)
        {
            
try
            {
                RegistryKey key 
= rootkey.OpenSubKey(keypath, true);
                key.DeleteValue(keyname);
                
return true;
            }
            
catch
            {
                
return false;
            }
        }
    }

}

转载于:https://www.cnblogs.com/top5/archive/2010/04/23/1718933.html

相关文章:

  • 像战士一样生活
  • 《使用Mason在HTML页面中嵌入Perl》(节选)
  • mysql: 复制mysql数据库
  • 开始ExtJS之旅:5.ExtJS对原有JavaScript对象的扩展
  • 获取当前月的天数
  • 猎人的狗力资源管理
  • HTML控件 隐藏
  • sharepoint 2010 配置用户同步连接出现错误信息 Unable to process Create message的一个解决方法...
  • 转载 : jqModel使用-- Loading external urls in jqModal jquery plugin
  • javascript弹出窗口详解
  • Javascript splice() 对数组的操作(插入、删除、替换元素)
  • 将util.Date转换为大写(农历)时间
  • 【JAVA学习笔记】02 运算符、表达式
  • ASP.NET中实现大结果集分页研讨
  • JS得到Request.QueryString的值
  • @jsonView过滤属性
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • Java多态
  • JS 面试题总结
  • Quartz初级教程
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • webgl (原生)基础入门指南【一】
  • 浮现式设计
  • 浏览器缓存机制分析
  • 判断客户端类型,Android,iOS,PC
  • 前端代码风格自动化系列(二)之Commitlint
  • 日剧·日综资源集合(建议收藏)
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 微服务核心架构梳理
  • 我建了一个叫Hello World的项目
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • Linux权限管理(week1_day5)--技术流ken
  • 长三角G60科创走廊智能驾驶产业联盟揭牌成立,近80家企业助力智能驾驶行业发展 ...
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • 回归生活:清理微信公众号
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • $ git push -u origin master 推送到远程库出错
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (2021|NIPS,扩散,无条件分数估计,条件分数估计)无分类器引导扩散
  • (3)llvm ir转换过程
  • (4)事件处理——(6)给.ready()回调函数传递一个参数(Passing an argument to the .ready() callback)...
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (备忘)Java Map 遍历
  • (二)c52学习之旅-简单了解单片机
  • (七)理解angular中的module和injector,即依赖注入
  • (三)uboot源码分析
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (五)Python 垃圾回收机制
  • (一)Java算法:二分查找
  • (一)为什么要选择C++
  • (转)JVM内存分配 -Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=512m
  • .【机器学习】隐马尔可夫模型(Hidden Markov Model,HMM)
  • .NET Core 版本不支持的问题