Windows系统下的程序开机自启

在程序启动时运行以下代码:

/// <summary>
/// 向注册表注册开机自启
/// Win10需要使用系统管理员权限运行VS才能调试,同理启动这个程序也需要系统管理员权限运行
/// 或者第一次启动时,右键以管理员权限启动程序
/// 这个只需要成功注册一次,后面就可以开机自动启动此程序了。
/// </summary>
public static void SetExecSelfStarting()
{
    try
    {
        var execPath = Application.ExecutablePath; //当前程序路径
        using (var rk = Registry.LocalMachine)
        {
            var resigetryPath = Environment.Is64BitOperatingSystem //判断是否为64位系统
                ? "SOFTWARE\\Wow6432Node\\Microsoft\\Windows\\CurrentVersion\\Run"
                : "Software\\Microsoft\\Windows\\CurrentVersion\\Run";
            using (var rk2 = rk.CreateSubKey(resigetryPath))
            {
                if (rk2 == null)
                {
                    return;
                }
                var value = rk2.GetValue("MyAppName") ?? string.Empty;
                if (execPath.Equals(value.ToString(), StringComparison.OrdinalIgnoreCase))
                {
                    return;
                }
                rk2.SetValue("MyAppName", execPath);
            }
        }
    }
    catch (Exception ex)
    {
        throw ex;
    }
}

 

posted @ 2020-07-22 09:35  一只独行的猿  阅读(348)  评论(0编辑  收藏  举报