C#开机启动进程的代码

来源:互联网 发布:剑灵女剑士捏脸数据图 编辑:程序博客网 时间:2024/04/29 23:18

学习网上他人的方法,自己总结。可用,记录下来:

        /// <summary>
        /// 开机自动启动程序
        /// 写如注册列表
        /// </summary>
        /// <param name="started">设置开机启动,或取消开机启动</param>
        /// <param name="exeName">注册表中程序的名称</param>
        /// <param name="path">开机启动的程序路径</param>
        /// <returns>开启或停用是否成功</returns>
        public static bool porcessStart(bool started, string exeName, string path)
        {
            RegistryKey key = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);

            if (key == null)
                key = Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");

            // 检查程序状态
            if(started)
                try
                {
                    key.SetValue(exeName, path);
                    key.Close();

                    return true;
                }
                catch (System.Exception)
                {
                    return  false;
                } 
            else
                try
                {
                    key.DeleteValue(exeName);
                    key.Close();

                    return true;
                }
                catch (System.Exception)
                {
                    return false;
                }
        }