diff --git a/Apewer.Windows/Internals/RegHelper.cs b/Apewer.Windows/Internals/RegistryHelper.cs similarity index 81% rename from Apewer.Windows/Internals/RegHelper.cs rename to Apewer.Windows/Internals/RegistryHelper.cs index 2303b67..d0956b5 100644 --- a/Apewer.Windows/Internals/RegHelper.cs +++ b/Apewer.Windows/Internals/RegistryHelper.cs @@ -7,7 +7,7 @@ namespace Apewer.Internals { /// 注册表。 - static class RegHelper + static class RegistryHelper { /// 用户登录后的启动项。 @@ -21,12 +21,12 @@ namespace Apewer.Internals /// 系统信息,对所有用户生效,设置需要管理员权限。 public static RegistryKey LocalMachine { get => Registry.LocalMachine; } - /// 获取字符串。 + /// 获取值。 /// 注册表存储区。 /// 路径。 /// 名称。 - /// 字符串的值。获取失败时返回 NULL 值。 - public static string Get(RegistryKey root, string key, string name) + /// 值。获取失败时返回 NULL 值。 + public static object Get(RegistryKey root, string key, string name) { try { @@ -34,18 +34,24 @@ namespace Apewer.Internals using #endif var rkey = root.OpenSubKey(key, RegistryKeyPermissionCheck.ReadSubTree); - var names = rkey.GetSubKeyNames(); + var names = rkey.GetValueNames(); if (names.Contains(name)) { - var obj = rkey.GetValue(name, null); - var str = obj as string; - return str; + var value = rkey.GetValue(name, null); + return value; } } catch { } return null; } + /// 获取字符串。 + /// 注册表存储区。 + /// 路径。 + /// 名称。 + /// 字符串的值。获取失败时返回 NULL 值。 + public static string GetString(RegistryKey root, string key, string name) => Get(root, key, name) as string; + /// 设置字符串,指定 value 为 NULL 可删除该值。 /// 注册表存储区。 /// 路径。 @@ -75,7 +81,7 @@ namespace Apewer.Internals /// 错误消息。 public static void SetRun(string name, string command) { - var old = Get(CurrentUser, Run, name); + var old = GetString(CurrentUser, Run, name); if (old.IsEmpty()) Set(CurrentUser, Run, name, command); } @@ -93,7 +99,7 @@ namespace Apewer.Internals { var path = Application.ExecutablePath; var name = Path.GetFileNameWithoutExtension(path); - var value = Get(CurrentUser, Run, name); + var value = GetString(CurrentUser, Run, name); return value == path; } set diff --git a/Apewer.Windows/WindowsUtility.cs b/Apewer.Windows/WindowsUtility.cs index 1dde123..0844ce6 100644 --- a/Apewer.Windows/WindowsUtility.cs +++ b/Apewer.Windows/WindowsUtility.cs @@ -991,11 +991,11 @@ namespace Apewer /// 设置当前用户的启动项。 /// 启动项的名称。 /// 执行的命令。 - public static void SetRun(string name, string command) => RegHelper.SetRun(name, command); + public static void SetRun(string name, string command) => RegistryHelper.SetRun(name, command); /// 取消当前用户的启动项。 /// 启动项的名称。 - public static void CancelRun(string name) => RegHelper.CancelRun(name); + public static void CancelRun(string name) => RegistryHelper.CancelRun(name); #endregion