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();
}
}
}
}