AssemblyTool/RecodeItLib/Utils/RegistryHelper.cs
CJ-SPT d33f1f3c9b
Dnlib refactor
* First compiling build

* fix out path

* fix hollow

* Traditional loops in favor of linq for clarity

* Start refactor

* Refactor part 2

* Rename variable

* Better error reason handling

* Clean up enum

* Refactor part 3

* Use combo boxes in favor of updowns

* Update tooltips

* fix is nested tree view display

* Capitialization

* Refactor part ??

* remove unused methods

* Expanded IsNested Check

* TypeFilter class + Fix CLI bug

* Remove reflection, change IsDerived and IsNested checks

* Remove optional out for IsPublic

* Remove nullable from IsPublic

* fix logger not resetting color

* actually fix it...

* remove redundant if else on IsPublic check

* Add logging to indicate all types have been filtered out

* Default IsPublic to true

* remove duplicate method call

* Refactor logger to be on its own thread

* Multithread remapping and grouped logging for threads

* 5 more filters

* Finish migrating to the new system

* bug fixes

* Add empty string validation to text fields

* re-enable renamer

* restore renamer

* Multi threaded renaming, still broken

* Basis for method renaming

* More renamer work, might get a passing build now?

* Re-enable publicizer

* Rework logging

* re-enable mapping updates

* fix hollow

* Iterate over all types instead of just one to re-link fields

* Add reference list command

---------

Co-authored-by: clodan <clodan@clodan.com>
2024-06-26 14:45:54 -04:00

31 lines
916 B
C#

using Microsoft.Win32;
namespace ReCodeItLib.Utils;
public static class RegistryHelper
{
/// <summary>
/// Sets a key in the registry, given its key, value, and kind
/// </summary>
/// <param name="key"></param>
/// <param name="value"></param>
/// <param name="kind"></param>
public static void SetRegistryValue(string key, string value, RegistryValueKind kind)
{
var regKey = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\ReCodeIt");
regKey.SetValue(key, value, kind);
}
/// <summary>
/// Gets a key from the registry, given its key and type
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="key"></param>
/// <returns></returns>
public static T? GetRegistryValue<T>(string key)
{
var regKey = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\ReCodeIt");
return (T)regKey?.GetValue(key);
}
}