using System;
using System.Collections.Generic;
using System.Text; using Microsoft.Win32;
using System.Collections; namespace War3Screen
{
/// <summary>
/// 注册表操作类--kongfl888 2013
///
/// </summary>
class RegOperator
{ /// <summary>
/// 获取某键下的某键值
/// </summary>
/// <param name="_registrykey">注册表基项如 Registry.CurrentUser</param>
/// <param name="mainKeystr">项的注册表键path</param>
/// <param name="name"></param>
/// <returns></returns>
public static string Getkey(RegistryKey _registrykey, string mainKeystr,string name)
{
string valueStr = string.Empty; try
{ RegistryKey regKey = _registrykey;
RegistryKey mainKey = regKey.OpenSubKey(mainKeystr); valueStr = mainKey.GetValue(name).ToString();
}
catch { }
return valueStr; } /// <summary>
/// 设置和修改某键值
/// </summary>
/// <param name="_registrykey">注册表基项如 Registry.CurrentUser</param>
/// <param name="mainKeystr">项的注册表键path</param>
/// <param name="name">项名</param>
/// <param name="valueStr">项值</param>
/// <returns></returns>
public static bool Setkey(RegistryKey _registrykey, string mainKeystr, string name, string valueStr)
{
bool sc = false;
try
{
RegistryKey regKey = _registrykey;
RegistryKey mainKey = regKey.OpenSubKey(mainKeystr, true);
mainKey.SetValue(name, valueStr, RegistryValueKind.DWord); sc = true;
}
catch { sc = false; }
return sc;
} /// <summary>
/// 新建子键
/// </summary>
/// <param name="regKey">注册表基项如 Registry.CurrentUser</param>
/// <param name="SubKeyPath">子键路径</param>
/// <param name="SubKey">子键名</param>
/// <param name="keyValue">子键值</param>
public static bool Createkey(RegistryKey regKey, string SubKeyPath, string SubKey, string valueName, string keyValue, RegistryValueKind valueKind)
{
try
{
RegistryKey optionKey = regKey.OpenSubKey(SubKeyPath, true);
//添加子键和值
RegistryKey subkey = optionKey.CreateSubKey(SubKey);
subkey.SetValue(valueName, keyValue, valueKind);
return true;
}
catch
{
return false;
throw;
} } /// <summary>
/// 重载Createkey
/// </summary>
/// <param name="regKey"></param>
/// <param name="SubKeyPath"></param>
/// <param name="SubKey"></param>
public static bool Createkey(RegistryKey regKey, string SubKeyPath, string SubKey)
{
try
{
RegistryKey optionKey = regKey.OpenSubKey(SubKeyPath, true);
optionKey.CreateSubKey(SubKey);
return true;
}
catch
{
return false;
throw; } } /// <summary>
/// 删除子键
/// </summary>
/// <param name="regKey">注册表基项如 Registry.CurrentUser</param>
/// <param name="SubKeyPath">子键路径</param>
/// <param name="SubKey">子键名</param>
public static bool DelKey(RegistryKey regKey, string SubKeyPath, string SubKey)
{
try
{
//打开注册表 RegistryKey optionKey = regKey.OpenSubKey(SubKeyPath, true); string[] subKeys = optionKey.GetSubKeyNames(); foreach (string akey in subKeys)
{
if (akey == SubKey)
{
optionKey.DeleteSubKeyTree(SubKey);
return true;
}
}
return false; }
catch
{
return false;
throw;
}
} }
}

C# 我的注册表操作类的更多相关文章

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

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

  2. C#注册表操作类(完整版) 整理完整

    /// <summary> /// 注册表基项静态域 /// /// 主要包括: /// 1.Registry.ClassesRoot 对应于HKEY_CLASSES_ROOT主键 /// ...

  3. C#注册表操作类(完整版)

    下面贴出自己用C#写的注册表操作类,欢迎大家拍砖! 1.注册表基项静态域 1 /// <summary> 2 /// 注册表基项静态域 3 /// 4 /// 主要包括: 5 /// 1. ...

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

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

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

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

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

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

  7. CRegKey 注册表操作

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

  8. Delphi的注册表操作

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

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

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

随机推荐

  1. 从源代码分析modelDriven拦截器和params拦截器和拦截器prepare 和paramsPrepareParamsStack拦截器栈(让你的Struts2代码更简洁——如何培养框架设计能力

    源代码文件:Web App Libraries/struts2-core-2.3.15.3.jar/struts-default.xml 拦截器modelDriven: <interceptor ...

  2. Kafka项目实践

    用户日志上报实时统计之编码实践 1.概述 本课程的视频教程地址:<Kafka实战项目之编码实践>  该课程我以用户实时上报日志案例为基础,带着大家去完成各个KPI的编码工作,实现生产模块. ...

  3. Android日志收集功能设计和实施报告(总)

    几乎所有的应用程序开发者都知道"用户体验"重视,为了增强用户体验是从全面的监测和报告制度密不可分,在这些日志(控制Crash报告)是主要的问题跟踪和解决工具. 日志上报系统.首先看 ...

  4. 单机部署redis主从备份

    redis为了避免单点故障,也支持主从备份.个人在做主从备份的实验时,因为机器数量有限,一般非常少有多台机器做支撑. 本文就将叙述怎样在一台电脑上实现redis的主从备份. 同一台机器上部署多个red ...

  5. 使 IIS 6.0 可以在 64 位 Windows 上运行 32 位应用程序 试图加载格式不正确的程序。

    原文 使 IIS 6.0 可以在 64 位 Windows 上运行 32 位应用程序 试图加载格式不正确的程序. win7 64位操作系统上边运行IIS网站应用的时候,提示错误"试图加载格式 ...

  6. Object-c中间initialize 与 辛格尔顿

    简单说下initialize任务.在初始化过程中同样的类将被调用一次. 直接在代码解释initialize任务. 创建一个InitTest类 InitTest.m #import "Init ...

  7. Dp_F Pku1157

    <span style="color:#000099;">/* F - 简单dp Time Limit:1000MS Memory Limit:10000KB 64bi ...

  8. UVa 11790 - Murcia&#39;s Skyline

    称号:给你一个行长度的建设和高度,我们祈求最长的和下降的高度. 分析:dp,最大上升子. 说明:具有长度,不能直接优化队列单调. #include <iostream> #include ...

  9. MySQL 架构

    原文:MySQL 架构 MySQL架构和结构分析 官方架构图: MySQL DB 各模块架构图如下: MySQL安装方式 MySQL初始化 简介:什么是事务: 事务: ACID :  事务确保了银行不 ...

  10. EasyUI 扩展自己定义EasyUI校验规则 验证规则(经常使用的)

    比如 校验输入框仅仅能录入0-1000之间 最多有2位小数的数字 表单<input type="text" id="rate" name="ra ...