繁体中文
设为首页
加入收藏
当前位置:.Net技术首页 >> 数据库应用 >> 对注册表读写类的再封装

对注册表读写类的再封装

2004-10-01 08:26:10  作者:  来源:互联网  浏览次数:48  文字大小:【】【】【
简介:using System; using System.IO; using System.Runtime.InteropServices; using System.Text; using Microsoft.Win32; namespace Wjb.ReadOrWriteIniAndReg { /// <summary> /// RWReg 的摘要说明...
关键字:封装 注册表

using System;

using System.IO;

using System.Runtime.InteropServices;

using System.Text;

using Microsoft.Win32;

namespace Wjb.ReadOrWriteIniAndReg

{

///

/// RWReg 的摘要说明。

/// 注册表操作类

/// 类库开发:吴剑冰

/// 时间:2003年11月07日

/// 功能:注册表操作

///

public class RWReg

{

private static RegistryKey rootkey;

///

/// 构造根键为RootKey的注册表操作类,缺省打开Current_User主键

///

public RWReg(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;

}

}

}

}

责任编辑:admin
相关文章