//Get Registry item value of key, item name=name
public string GetValue(RegistryKey rootKey, string path, string itemName)
{
if (string.IsNullOrEmpty(itemName) || rootKey == null || string.IsNullOrEmpty(path)) return null;
try
{
RegistryKey regKey = rootKey.OpenSubKey(path, false);
if (regKey != null)
{
string itemValue = regKey.GetValue(itemName) == null ? null : regKey.GetValue(itemName).ToString();
if (!string.IsNullOrEmpty(itemValue))
{
regKey.Close();
return itemValue;
}
}
}
catch (Exception ex)
{
rootKey.Close();
throw ex;
}
return null;
#region Sample Code for Get item Value
//string serverTypeRegPath = @"SYSTEM\CurrentControlSet\Services\W32Time\Parameters";
//string itemName = "Type";
//RegistryKey rootKey = Registry.LocalMachine;
//string strServerType = this.GetValue(rootKey, serverTypeRegPath, itemName);
#endregion
}
//Set registry item value of key, item name=item name, item value=itemValue, item value type=itemValueTime
//If the item dose not exixted, create the item and set the value
public void SetValue(RegistryKey rootKey, string path, string itemName,
RegistryValueKind itemValueKind, string itemValue)
{
if (rootKey == null || string.IsNullOrEmpty(path) || string.IsNullOrEmpty(itemName)
|| itemValueKind == null || string.IsNullOrEmpty(itemValue))
{
return;
}
try
{
RegistryKey key = rootKey.OpenSubKey(path, true);
key.SetValue(itemName, itemValue, itemValueKind);
rootKey.Close();
}
catch (Exception ex)
{
rootKey.close();
throw ex;
}
#region Sample Code
//string serverTypeRegPath = @"SYSTEM\CurrentControlSet\Services\W32Time\Parameters";
//string itemName = "test";
//string itemValue = "xlding_1";
//RegistryKey rootKey = Registry.LocalMachine;
//this.SetValue(rootKey, serverTypeRegPath, itemName, RegistryValueKind.String, itemValue);
//string strXXX = this.GetValue(rootKey, serverTypeRegPath, itemName);
//MessageBox.Show(strXXX);
#endregion
}