61 lines
1.8 KiB
C#
61 lines
1.8 KiB
C#
using Microsoft.Win32;
|
|
|
|
namespace CvMega.Helper;
|
|
|
|
internal class RegeditKey
|
|
{
|
|
public static string Regkey = "SOFTWARE\\Google\\CrashReports";
|
|
|
|
public static bool CheckValue(string name)
|
|
{
|
|
using (RegistryKey registryKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64))
|
|
{
|
|
using RegistryKey registryKey2 = registryKey.CreateSubKey(Regkey, writable: false);
|
|
if (registryKey2.GetValue(name) != null)
|
|
{
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
public static void SetValue(string name, string value)
|
|
{
|
|
using RegistryKey registryKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64);
|
|
using RegistryKey registryKey2 = registryKey.CreateSubKey(Regkey, writable: true);
|
|
if (CheckValue(name))
|
|
{
|
|
registryKey2.DeleteValue(name);
|
|
}
|
|
registryKey2.SetValue(name, value);
|
|
}
|
|
|
|
public static string GetValue(string name)
|
|
{
|
|
if (!CheckValue(name))
|
|
{
|
|
return null;
|
|
}
|
|
using RegistryKey registryKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64);
|
|
using RegistryKey registryKey2 = registryKey.CreateSubKey(Regkey, writable: false);
|
|
return (string)registryKey2.GetValue(name);
|
|
}
|
|
|
|
public static string[] GetValues()
|
|
{
|
|
using RegistryKey registryKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64);
|
|
using RegistryKey registryKey2 = registryKey.CreateSubKey(Regkey, writable: false);
|
|
return registryKey2.GetValueNames();
|
|
}
|
|
|
|
public static void DeleteValue(string name)
|
|
{
|
|
using RegistryKey registryKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry64);
|
|
using RegistryKey registryKey2 = registryKey.CreateSubKey(Regkey, writable: true);
|
|
if (CheckValue(name))
|
|
{
|
|
registryKey2.DeleteValue(name);
|
|
}
|
|
}
|
|
}
|