|
|
@ -7,7 +7,7 @@ namespace Apewer.Internals |
|
|
|
{ |
|
|
|
|
|
|
|
/// <summary>注册表。</summary>
|
|
|
|
static class RegHelper |
|
|
|
static class RegistryHelper |
|
|
|
{ |
|
|
|
|
|
|
|
/// <summary>用户登录后的启动项。</summary>
|
|
|
@ -21,12 +21,12 @@ namespace Apewer.Internals |
|
|
|
/// <remarks>系统信息,对所有用户生效,设置需要管理员权限。</remarks>
|
|
|
|
public static RegistryKey LocalMachine { get => Registry.LocalMachine; } |
|
|
|
|
|
|
|
/// <summary>获取字符串。</summary>
|
|
|
|
/// <summary>获取值。</summary>
|
|
|
|
/// <param name="root">注册表存储区。</param>
|
|
|
|
/// <param name="key">路径。</param>
|
|
|
|
/// <param name="name">名称。</param>
|
|
|
|
/// <returns>字符串的值。获取失败时返回 NULL 值。</returns>
|
|
|
|
public static string Get(RegistryKey root, string key, string name) |
|
|
|
/// <returns>值。获取失败时返回 NULL 值。</returns>
|
|
|
|
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; |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>获取字符串。</summary>
|
|
|
|
/// <param name="root">注册表存储区。</param>
|
|
|
|
/// <param name="key">路径。</param>
|
|
|
|
/// <param name="name">名称。</param>
|
|
|
|
/// <returns>字符串的值。获取失败时返回 NULL 值。</returns>
|
|
|
|
public static string GetString(RegistryKey root, string key, string name) => Get(root, key, name) as string; |
|
|
|
|
|
|
|
/// <summary>设置字符串,指定 value 为 NULL 可删除该值。</summary>
|
|
|
|
/// <param name="root">注册表存储区。</param>
|
|
|
|
/// <param name="key">路径。</param>
|
|
|
@ -75,7 +81,7 @@ namespace Apewer.Internals |
|
|
|
/// <remarks>错误消息。</remarks>
|
|
|
|
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 |