刚写的C#.NET注册表操作类,请指教
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Win32;
namespace MyName.Cls
{
class ClsRegedit
{
String Path;
String MyKey;
String Name;
String MyValue;
/// <summary>
/// 构造函数
/// </summary>
/// <param name= "ParentKey "> 路径 </param>
/// <param name= "ThisKey "> 本键 </param>
/// <param name= "key "> 键名 </param>
/// <param name= "value "> 键值 </param>
public ClsRegedit(String ParentKey, String ThisKey, string key, string value)
{
Path = ParentKey;
MyKey = ThisKey;
Name = key;
MyValue = value;
}
/// <summary>
/// 写注册表的值
/// </summary>
/// <returns> </returns>
public string SetRegedit()
{
string StrError;
RegistryKey pregkey = Registry.CurrentUser.OpenSubKey(Path, true);
if (pregkey == null)
{
StrError = "输入的{ " + Path + "}主键不存在 ";
return StrError;
}
else
{
//如果键没有打开就表示不存在,TempKey会被返回null
Registry TempKey = pregkey.OpenSubKey(MyKey);
if (TempKey == null)
{
//如果不存在就创建键
RegistryKey MyKey = pregkey.CreateSubKey(MyKey);
MyKey.SetValue(Name, MyValue);
}
else
{
//如果存在就将其显示出来
MyKey.SetValue(Name, MyValue);
}
}
}
/// <summary>
/// 取注册表的值
/// </summary>
/// <returns> 返回字符串 </returns>
public string GetRegeditValue()
{
string StrError;
string StrPath;
StrPath = Path + @ "\ " + MyKey;
RegistryKey pregkey = Registry.CurrentUser.OpenSubKey(StrPath, true);
if (pregkey == null)
{
StrError = "输入的{ " + StrPath + "}主键不存在 ";
return StrError;
}
else
{
return pregkey.GetValue( "HOSTIP ").ToString();
}
}
}
}
[解决办法]
SetRegedit这个方法可以编译通过???
可以写成静态类吧?
我最烦每次都要new一个类 :)