/// <summary> /// Get a DWORD Registry Value as string /// </summary> /// <param name="hDefKey">HKLM = 2147483650</param> /// <param name="sSubKeyName"></param> /// <param name="sValueName"></param> /// <param name="DefaultValue">return string if key or value does not exist</param> /// <returns></returns> public string GetDWord(UInt32 hDefKey, string sSubKeyName, string sValueName, string DefaultValue) { { String result = ""; try { WMIProvider oProv = new WMIProvider(oWMIProvider.mScope.Clone()); oProv.mScope.Path.NamespacePath = @"ROOT\default"; ManagementBaseObject inParams = oProv.GetClass("StdRegProv").GetMethodParameters("GetDWORDValue"); inParams["hDefKey"] = hDefKey; inParams["sSubKeyName"] = sSubKeyName; inParams["sValueName"] = sValueName; ManagementBaseObject outParams = oProv.ExecuteMethod("StdRegProv", "GetDWORDValue", inParams); if (outParams.GetPropertyValue("ReturnValue").ToString() == "0") { if (outParams.GetPropertyValue("uValue") != null) { result = outParams.GetPropertyValue("uValue").ToString(); } } return(result); } catch { return(DefaultValue); } } }
/// <summary> /// Get an ArrayList of all Regisry Values /// </summary> /// <param name="hDefKey">2147483650 = HKLM</param> /// <param name="sSubKeyName"></param> /// <returns>RegistryValues</returns> public List <string> RegValuesList(UInt32 hDefKey, string sSubKeyName) { try { WMIProvider oProv = new WMIProvider(oWMIProvider.mScope.Clone()); oProv.mScope.Path.NamespacePath = @"ROOT\default"; ManagementBaseObject inParams = oProv.GetClass("StdRegProv").GetMethodParameters("EnumValues"); inParams["hDefKey"] = hDefKey; inParams["sSubKeyName"] = sSubKeyName; ManagementBaseObject outParams = oProv.ExecuteMethod("StdRegProv", "EnumValues", inParams); List <string> result = new List <string>(); if (outParams.GetPropertyValue("ReturnValue").ToString() == "0") { if (outParams.GetPropertyValue("sNames") != null) { result.AddRange(outParams.GetPropertyValue("sNames") as String[]); } } return(result); } catch { throw; } }
/// <summary> /// Set Registry String Value /// </summary> /// <param name="hDefKey">HKLM = 2147483650</param> /// <param name="sSubKeyName"></param> /// <param name="sValueName"></param> /// <param name="sValue"></param> public void SetStringValue(UInt32 hDefKey, String sSubKeyName, String sValueName, String sValue) { WMIProvider oProv = new WMIProvider(oWMIProvider.mScope.Clone()); oProv.mScope.Path.NamespacePath = @"ROOT\default"; ManagementBaseObject inParams = oProv.GetClass("StdRegProv").GetMethodParameters("SetStringValue"); inParams["hDefKey"] = hDefKey; inParams["sSubKeyName"] = sSubKeyName; inParams["sValueName"] = sValueName; inParams["sValue"] = sValue; oProv.ExecuteMethod("StdRegProv", "SetStringValue", inParams); }
/// <summary> /// Set a DWORD Registry Value from a UInt32 Value /// </summary> /// <param name="hDefKey"></param> /// <param name="sSubKeyName"></param> /// <param name="sValueName"></param> /// <param name="uValue"></param> public void SetDWord(UInt32 hDefKey, string sSubKeyName, string sValueName, UInt32 uValue) { try { WMIProvider oProv = new WMIProvider(oWMIProvider.mScope.Clone()); oProv.mScope.Path.NamespacePath = @"ROOT\default"; ManagementBaseObject inParams = oProv.GetClass("StdRegProv").GetMethodParameters("SetDWORDValue"); inParams["hDefKey"] = hDefKey; inParams["sSubKeyName"] = sSubKeyName; inParams["sValueName"] = sValueName; inParams["uValue"] = uValue; ManagementBaseObject outParams = oProv.ExecuteMethod("StdRegProv", "SetDWORDValue", inParams); } catch { throw; } }
/// <summary> /// Delete a Registry Key and all Subkeys /// </summary> /// <param name="hDefKey"></param> /// <param name="sSubKeyName"></param> public void DeleteKey(UInt32 hDefKey, String sSubKeyName) { try { //Delete all subkeys ArrayList Subkeys = RegKeys(hDefKey, sSubKeyName); foreach (string skey in Subkeys) { DeleteKey(hDefKey, sSubKeyName + @"\" + skey); } WMIProvider oProv = new WMIProvider(oWMIProvider.mScope.Clone()); oProv.mScope.Path.NamespacePath = @"ROOT\default"; ManagementBaseObject inParams = oProv.GetClass("StdRegProv").GetMethodParameters("DeleteKey"); inParams["hDefKey"] = hDefKey; inParams["sSubKeyName"] = sSubKeyName; oProv.ExecuteMethod("StdRegProv", "DeleteKey", inParams); } catch { throw; } }