public static bool RenameRegistryValue(string oldName, string newName, string keyPath, out string errorMsg) { try { RegistryKey key = GetWritableRegistryKey(keyPath); if (key == null) { errorMsg = "Bu kayıdı açmak için izniniz yoktur: " + keyPath + ", clientin yönetici olarak çalıştırılması gerekiyor."; return(false); } if (!key.ContainsValue(oldName)) { errorMsg = "Değer: " + oldName + " bu dizinde bulunmamaktadır: " + keyPath; return(false); } bool success = key.RenameValueSafe(oldName, newName); if (!success) { errorMsg = REGISTRY_VALUE_RENAME_ERROR; return(false); } errorMsg = ""; return(true); } catch (Exception ex) { errorMsg = ex.Message; return(false); } }
/// <summary> /// Attempts to create the desired value for the specified parent. /// </summary> /// <param name="keyPath">The path to the key for which to create the registry value on.</param> /// <param name="kind">The type of the registry value to create.</param> /// <param name="name">output parameter that holds the name of the registry value that was create.</param> /// <param name="errorMsg">output parameter that contians possible error message.</param> /// <returns>Returns true if the operation succeeded.</returns> public static bool CreateRegistryValue(string keyPath, RegistryValueKind kind, out string name, out string errorMsg) { name = ""; try { RegistryKey key = GetWritableRegistryKey(keyPath); //Invalid can not open key if (key == null) { errorMsg = "You do not have write access to registry: " + keyPath + ", try running client as administrator"; return(false); } //Try to find available names int i = 1; string testName = String.Format("New Value #{0}", i); while (key.ContainsValue(testName)) { i++; testName = String.Format("New Value #{0}", i); } name = testName; bool success = key.SetValueSafe(name, kind.GetDefault(), kind); //Value could not be created if (!success) { errorMsg = REGISTRY_VALUE_CREATE_ERROR; return(false); } //Value was successfully created errorMsg = ""; return(true); } catch (Exception ex) { errorMsg = ex.Message; return(false); } }
public static bool CreateRegistryValue(string keyPath, RegistryValueKind kind, out string name, out string errorMsg) { name = ""; try { RegistryKey key = GetWritableRegistryKey(keyPath); if (key == null) { errorMsg = "Bu kayıdı açmak için izniniz yoktur: " + keyPath + ", clientin yönetici olarak çalıştırılması gerekiyor."; return(false); } int i = 1; string testName = string.Format("Yeni Değer #{0}", i); while (key.ContainsValue(testName)) { i++; testName = string.Format("Yeni Değer #{0}", i); } name = testName; bool success = key.SetValueSafe(name, kind.GetDefault(), kind); if (!success) { errorMsg = REGISTRY_VALUE_CREATE_ERROR; return(false); } errorMsg = ""; return(true); } catch (Exception ex) { errorMsg = ex.Message; return(false); } }
/// <summary> /// Attempts to delete the desired registry value from the specified key. /// </summary> /// <param name="keyPath">The path to the key for which to delete the registry value on.</param> /// /// <param name="name">The name of the registry value to delete.</param> /// <param name="errorMsg">output parameter that contians possible error message.</param> /// <returns>Returns true if the operation succeeded.</returns> public static bool DeleteRegistryValue(string keyPath, string name, out string errorMsg) { try { RegistryKey key = GetWritableRegistryKey(keyPath); //Invalid can not open key if (key == null) { errorMsg = "You do not have write access to registry: " + keyPath + ", try running client as administrator"; return(false); } //Value does not exist if (!key.ContainsValue(name)) { errorMsg = "The value: " + name + " does not exist in: " + keyPath; //If value does not exists then the action has already succeeded return(true); } bool success = key.DeleteValueSafe(name); //Value could not be deleted if (!success) { errorMsg = REGISTRY_VALUE_DELETE_ERROR; return(false); } //Value was successfully deleted errorMsg = ""; return(true); } catch (Exception ex) { errorMsg = ex.Message; return(false); } }
/// <summary> /// Attempts to change the value for the desired registry value for the /// specified key. /// </summary> /// <param name="value">The registry value to change to in the form of a /// RegValueData object.</param> /// <param name="keyPath">The path to the key for which to change the /// value of the registry value on.</param> /// <param name="errorMsg">output parameter that contians possible error message.</param> /// <returns>Returns true if the operation succeeded.</returns> public static bool ChangeRegistryValue(RegValueData value, string keyPath, out string errorMsg) { try { RegistryKey key = GetWritableRegistryKey(keyPath); //Invalid can not open key if (key == null) { errorMsg = "You do not have write access to registry: " + keyPath + ", try running client as administrator"; return(false); } //Is not default value and does not exist if (!RegistryKeyHelper.IsDefaultValue(value.Name) && !key.ContainsValue(value.Name)) { errorMsg = "The value: " + value.Name + " does not exist in: " + keyPath; return(false); } bool success = key.SetValueSafe(value.Name, value.Data, value.Kind); //Value could not be created if (!success) { errorMsg = REGISTRY_VALUE_CHANGE_ERROR; return(false); } //Value was successfully created errorMsg = ""; return(true); } catch (Exception ex) { errorMsg = ex.Message; return(false); } }
/// <summary> /// Attempts to rename the desired registry value. /// </summary> /// <param name="oldName">The name of the registry value to rename.</param> /// <param name="newName">The name to use for renaming.</param> /// <param name="keyPath">The path of the key for which to rename the registry value.</param> /// <param name="errorMsg">output parameter that contians possible error message.</param> /// <returns>Returns true if the operation succeeded.</returns> public static bool RenameRegistryValue(string oldName, string newName, string keyPath, out string errorMsg) { try { RegistryKey key = GetWritableRegistryKey(keyPath); //Invalid can not open key if (key == null) { errorMsg = "You do not have write access to registry: " + keyPath + ", try running client as administrator"; return(false); } //Value does not exist if (!key.ContainsValue(oldName)) { errorMsg = "The value: " + oldName + " does not exist in: " + keyPath; return(false); } bool success = key.RenameValueSafe(oldName, newName); //Value could not be renamed if (!success) { errorMsg = REGISTRY_VALUE_RENAME_ERROR; return(false); } //Value was successfully renamed errorMsg = ""; return(true); } catch (Exception ex) { errorMsg = ex.Message; return(false); } }