您的位置:首页 > 其它

设置软件开机启动

2018-03-27 14:50 260 查看
 /// <summary>
    /// 手动自启动
    /// </summary>
    public class HandTool
    {
        #region 开机自启动设置

        /// <summary>
        /// 开机启动项
        /// </summary>
        /// <param name=\"Started\">是否启动</param>
        /// <param name=\"name\">启动值的名称</param>
        /// <param name=\"path\">启动程序的路径</param>
        private static bool RunWhenStart(bool Started, string name, string path)
        {
            RegistryKey HKLM = Registry.LocalMachine;
            RegistryKey Run = HKLM.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run\");
[align=justify]            if (Started == true)
[/align]            {
                try
                {
                    Run.SetValue(name, path);
                    HKLM.Close();
                    return true;
                }
                catch (Exception Err)
                {
                    return false;
                }
            }
            else
            {
                try
                {
                    Run.DeleteValue(name);
                    HKLM.Close();
                    return true;
                }
                catch (Exception)
                {
                    //
                    return false;
                }
            }
        }

        /// <summary>
        /// 开机启动项
        /// </summary>
        /// <param name=\"Started\">是否启动</param>        
        public static bool RunWhenStart(bool Started)
        {
            return RunWhenStart(Started, Application.ProductName, Application.ExecutablePath);
        }

        /// <summary>
        /// 询问是否已经设置为开机启动项
        /// </summary>
        /// <returns></returns>
        public static bool IsRunWhenStart()
        {
            try
            {
                RegistryKey loca_chek = Registry.LocalMachine;
                RegistryKey run_Check = loca_chek.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run");
                if (run_Check.GetValue(Application.ProductName).ToString().ToLower() != "false")
                {
                    return true;
                }
                else
                {
                    return false;
                }
            }
            catch { return false; }
        }

        #endregion      
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: