53 lines
1.8 KiB
C#
53 lines
1.8 KiB
C#
using Microsoft.Win32;
|
|
namespace updater
|
|
{
|
|
internal class RegistHelper
|
|
{
|
|
public static string GetRegistData(RegistryKey rtype, string path, string name)
|
|
{
|
|
RegistryKey registryKey = rtype.OpenSubKey(path, writable: false);
|
|
if (registryKey != null)
|
|
{
|
|
if (registryKey.GetValue(name) != null)
|
|
{
|
|
return registryKey.GetValue(name).ToString();
|
|
}
|
|
return string.Empty;
|
|
}
|
|
return string.Empty;
|
|
}
|
|
|
|
public static string GetAllRegistData(RegistryHive rtype, string path, string name)
|
|
{
|
|
RegistryKey registryKey = RegistryKey.OpenBaseKey(rtype, RegistryView.Registry32).OpenSubKey(path);
|
|
if (registryKey == null)
|
|
{
|
|
registryKey = RegistryKey.OpenBaseKey(rtype, RegistryView.Registry64).OpenSubKey(path);
|
|
}
|
|
if (registryKey != null)
|
|
{
|
|
return registryKey.GetValue(name).ToString();
|
|
}
|
|
return string.Empty;
|
|
}
|
|
|
|
public static void WriteCURegedit(string name, string tovalue)
|
|
{
|
|
Registry.CurrentUser.OpenSubKey("SOFTWARE", writable: true).CreateSubKey("mine\\WordAddInTest1").SetValue(name, tovalue);
|
|
}
|
|
|
|
public static void DeleteCURegist(string name)
|
|
{
|
|
RegistryKey registryKey = Registry.CurrentUser.OpenSubKey("SOFTWARE", writable: true).OpenSubKey("mine\\WordAddInTest1", writable: true);
|
|
string[] subKeyNames = registryKey.GetSubKeyNames();
|
|
for (int i = 0; i < subKeyNames.Length; i++)
|
|
{
|
|
if (subKeyNames[i] == name)
|
|
{
|
|
registryKey.DeleteSubKeyTree(name);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|