using System;
using Microsoft.Win32;
using System.Collections;
namespace iUNS
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
public class iuRegistryKey
{
public iuRegistryKey()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
/// <summary>
/// 向注册表写入字符串值,并对其进行base64加密
/// </summary>
/// <param name="subkey">子键</param>
/// <param name="key">键名</param>
/// <param name="val">键值</param>
/// <returns>返回是否成功bool值</returns>
public static bool setStringValueKeyToEncodingBase64(string subkey,string key,string val)
{
try
{
RegistryKey rk=Registry.LocalMachine.OpenSubKey(subkey,true);
if(rk==null)
{
rk=Registry.LocalMachine.CreateSubKey(subkey);
if(rk==null)
{
return false;
}
}
byte[] buff=System.Text.Encoding.GetEncoding("gb2312").GetBytes(val);
val=Convert.ToBase64String(buff,0,buff.Length);
rk.SetValue(key,val);
rk.Close();
return true;
}
catch
{
return false;
}
}
/// <summary>
/// 向注册表写入字符串值,并对其进行base64加密
/// </summary>
/// <param name="subkey">子键</param>
/// <param name="key">键名</param>
/// <param name="val">键值</param>
/// <returns>返回是否成功bool值</returns>
public static bool setStringValueKeyToEncodingMD5(string subkey,string key,string val)
{
try
{
RegistryKey rk=Registry.LocalMachine.OpenSubKey(subkey,true);
if(rk==null)
{
rk=Registry.LocalMachine.CreateSubKey(subkey);
if(rk==null)
{
return false;
}
}
val=md5.stringToMD5.makeMD5(val);
rk.SetValue(key,val);
rk.Close();
return true;
}
catch
{
return false;
}
}
/// <summary>
/// 向注册表写入字符串值,不进行base64加密
/// </summary>
/// <param name="subkey">子键</param>
/// <param name="key">键名</param>
/// <param name="val">键值</param>
/// <returns>返回是否成功bool值</returns>
public static bool setStringValueKey(string subkey,string key,string val)
{
try
{
RegistryKey rk=Registry.LocalMachine.OpenSubKey(subkey,true);
if(rk==null)
{
rk=Registry.LocalMachine.CreateSubKey(subkey);
if(rk==null)
{
return false;
}
}
rk.SetValue(key,val);
rk.Close();
return true;
}
catch
{
return false;
}
}
/// <summary>
/// 向注册表写入整型值
/// </summary>
/// <param name="subkey">子键</param>
/// <param name="key">键名</param>
/// <param name="val">键值</param>
/// <returns>返回是否成功bool值</returns>
public static bool setIntValueKey(string subkey,string key,int val)
{
try
{
RegistryKey rk=Registry.LocalMachine.OpenSubKey(subkey,true);
if(rk==null)
{
rk=Registry.LocalMachine.CreateSubKey(subkey);
if(rk==null)
{
return false;
}
}
rk.SetValue(key,val);
rk.Close();
return true;
}
catch
{
return false;
}
}
/// <summary>
/// 从注册表读取字串值,并对值进行base64解密返回
/// </summary>
/// </summary>
/// <param name="subkey">子键</param>
/// <param name="key">键名</param>
/// <param name="val">返回取得的字串值</param>
/// <returns>返回是否成功bool值</returns>
public static bool getStringValueKeyFromEncodingBase64(string subkey,string key,ref string val,string def)
{
try
{
RegistryKey rk=Registry.LocalMachine.OpenSubKey(subkey,true);
if(rk!=null)
{
val=(string)rk.GetValue(key,"");
byte[] buff=Convert.FromBase64String(val);
val=System.Text.Encoding.GetEncoding("gb2312").GetString(buff, 0, buff.Length);
if(val=="")
val=def;
rk.Close();
return true;
}
else
{
return false;
}
}
catch
{
return false;
}
}
/// <summary>
/// 从注册表读取未经加密的字串值
/// </summary>
/// <param name="subkey">字键</param>
/// <param name="key">键名</param>
/// <param name="val">返回的字串值</param>
/// <returns>返回是否成功bool值</returns>
public static bool getStringValueKey(string subkey,string key,ref string val,string def)
{
try
{
RegistryKey rk=Registry.LocalMachine.OpenSubKey(subkey,true);
if(rk!=null)
{
val=(string)rk.GetValue(key,"");
if(val=="")
val=def;
rk.Close();
return true;
}
else
{
return false;
}
}
catch
{
return false;
}
}
/// <summary>
/// 从注册表读取整型值
/// </summary>
/// <param name="subkey">子键</param>
/// <param name="key">键名</param>
/// <param name="val">返回取得的整型值,默认值为0</param>
/// <returns>返回是否成功bool值</returns>
public static bool getIntValueKey(string subkey,string key,ref int val,int def)
{
try
{
RegistryKey rk=Registry.LocalMachine.OpenSubKey(subkey,true);
if(rk!=null)
{
val=(int)rk.GetValue(key,-1);
if(val==-1)
val=def;
rk.Close();
return true;
}
else
{
return false;
}
}
catch
{
return false;
}
}
/// <summary>
/// 取得一个注册表子键下所有键名的数组
/// </summary>
/// <param name="subkey">子键</param>
/// <param name="valList">存放返回的数组</param>
/// <returns>返回是否成功bool值</returns>
public static bool getSubKeyValueNames(string subkey,ref ArrayList valList)
{
try
{
RegistryKey rk=Registry.LocalMachine.OpenSubKey(subkey,true);
if(rk!=null)
{
string[] val=rk.GetValueNames();
for(int i=0;i<val.Length;i++)
{
valList.Add(val[i]);
}
rk.Close();
return true;
}
else
{
return false;
}
}
catch
{
return false;
}
}
/// <summary>
/// 删除一个指定的键
/// </summary>
/// <param name="subkey">子键</param>
/// <param name="key">键名</param>
/// <returns>返回是否成功bool值</returns>
public static bool delValueKey(string subkey,string key)
{
try
{
RegistryKey rk=Registry.LocalMachine.OpenSubKey(subkey,true);
if(rk!=null)
{
rk.DeleteValue(key);
rk.Close();
return true;
}
else
{
return false;
}
}
catch
{
return false;
}
}
}
}
using Microsoft.Win32;
using System.Collections;
namespace iUNS
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
public class iuRegistryKey
{
public iuRegistryKey()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
/// <summary>
/// 向注册表写入字符串值,并对其进行base64加密
/// </summary>
/// <param name="subkey">子键</param>
/// <param name="key">键名</param>
/// <param name="val">键值</param>
/// <returns>返回是否成功bool值</returns>
public static bool setStringValueKeyToEncodingBase64(string subkey,string key,string val)
{
try
{
RegistryKey rk=Registry.LocalMachine.OpenSubKey(subkey,true);
if(rk==null)
{
rk=Registry.LocalMachine.CreateSubKey(subkey);
if(rk==null)
{
return false;
}
}
byte[] buff=System.Text.Encoding.GetEncoding("gb2312").GetBytes(val);
val=Convert.ToBase64String(buff,0,buff.Length);
rk.SetValue(key,val);
rk.Close();
return true;
}
catch
{
return false;
}
}
/// <summary>
/// 向注册表写入字符串值,并对其进行base64加密
/// </summary>
/// <param name="subkey">子键</param>
/// <param name="key">键名</param>
/// <param name="val">键值</param>
/// <returns>返回是否成功bool值</returns>
public static bool setStringValueKeyToEncodingMD5(string subkey,string key,string val)
{
try
{
RegistryKey rk=Registry.LocalMachine.OpenSubKey(subkey,true);
if(rk==null)
{
rk=Registry.LocalMachine.CreateSubKey(subkey);
if(rk==null)
{
return false;
}
}
val=md5.stringToMD5.makeMD5(val);
rk.SetValue(key,val);
rk.Close();
return true;
}
catch
{
return false;
}
}
/// <summary>
/// 向注册表写入字符串值,不进行base64加密
/// </summary>
/// <param name="subkey">子键</param>
/// <param name="key">键名</param>
/// <param name="val">键值</param>
/// <returns>返回是否成功bool值</returns>
public static bool setStringValueKey(string subkey,string key,string val)
{
try
{
RegistryKey rk=Registry.LocalMachine.OpenSubKey(subkey,true);
if(rk==null)
{
rk=Registry.LocalMachine.CreateSubKey(subkey);
if(rk==null)
{
return false;
}
}
rk.SetValue(key,val);
rk.Close();
return true;
}
catch
{
return false;
}
}
/// <summary>
/// 向注册表写入整型值
/// </summary>
/// <param name="subkey">子键</param>
/// <param name="key">键名</param>
/// <param name="val">键值</param>
/// <returns>返回是否成功bool值</returns>
public static bool setIntValueKey(string subkey,string key,int val)
{
try
{
RegistryKey rk=Registry.LocalMachine.OpenSubKey(subkey,true);
if(rk==null)
{
rk=Registry.LocalMachine.CreateSubKey(subkey);
if(rk==null)
{
return false;
}
}
rk.SetValue(key,val);
rk.Close();
return true;
}
catch
{
return false;
}
}
/// <summary>
/// 从注册表读取字串值,并对值进行base64解密返回
/// </summary>
/// </summary>
/// <param name="subkey">子键</param>
/// <param name="key">键名</param>
/// <param name="val">返回取得的字串值</param>
/// <returns>返回是否成功bool值</returns>
public static bool getStringValueKeyFromEncodingBase64(string subkey,string key,ref string val,string def)
{
try
{
RegistryKey rk=Registry.LocalMachine.OpenSubKey(subkey,true);
if(rk!=null)
{
val=(string)rk.GetValue(key,"");
byte[] buff=Convert.FromBase64String(val);
val=System.Text.Encoding.GetEncoding("gb2312").GetString(buff, 0, buff.Length);
if(val=="")
val=def;
rk.Close();
return true;
}
else
{
return false;
}
}
catch
{
return false;
}
}
/// <summary>
/// 从注册表读取未经加密的字串值
/// </summary>
/// <param name="subkey">字键</param>
/// <param name="key">键名</param>
/// <param name="val">返回的字串值</param>
/// <returns>返回是否成功bool值</returns>
public static bool getStringValueKey(string subkey,string key,ref string val,string def)
{
try
{
RegistryKey rk=Registry.LocalMachine.OpenSubKey(subkey,true);
if(rk!=null)
{
val=(string)rk.GetValue(key,"");
if(val=="")
val=def;
rk.Close();
return true;
}
else
{
return false;
}
}
catch
{
return false;
}
}
/// <summary>
/// 从注册表读取整型值
/// </summary>
/// <param name="subkey">子键</param>
/// <param name="key">键名</param>
/// <param name="val">返回取得的整型值,默认值为0</param>
/// <returns>返回是否成功bool值</returns>
public static bool getIntValueKey(string subkey,string key,ref int val,int def)
{
try
{
RegistryKey rk=Registry.LocalMachine.OpenSubKey(subkey,true);
if(rk!=null)
{
val=(int)rk.GetValue(key,-1);
if(val==-1)
val=def;
rk.Close();
return true;
}
else
{
return false;
}
}
catch
{
return false;
}
}
/// <summary>
/// 取得一个注册表子键下所有键名的数组
/// </summary>
/// <param name="subkey">子键</param>
/// <param name="valList">存放返回的数组</param>
/// <returns>返回是否成功bool值</returns>
public static bool getSubKeyValueNames(string subkey,ref ArrayList valList)
{
try
{
RegistryKey rk=Registry.LocalMachine.OpenSubKey(subkey,true);
if(rk!=null)
{
string[] val=rk.GetValueNames();
for(int i=0;i<val.Length;i++)
{
valList.Add(val[i]);
}
rk.Close();
return true;
}
else
{
return false;
}
}
catch
{
return false;
}
}
/// <summary>
/// 删除一个指定的键
/// </summary>
/// <param name="subkey">子键</param>
/// <param name="key">键名</param>
/// <returns>返回是否成功bool值</returns>
public static bool delValueKey(string subkey,string key)
{
try
{
RegistryKey rk=Registry.LocalMachine.OpenSubKey(subkey,true);
if(rk!=null)
{
rk.DeleteValue(key);
rk.Close();
return true;
}
else
{
return false;
}
}
catch
{
return false;
}
}
}
}