C#编写开机自动运行函数

来源:互联网 发布:菜鸟网络物流公司 编辑:程序博客网 时间:2024/05/17 23:09


        /// <summary>
        /// 开机启动项
        /// </summary>
        /// <param name="Started">是否启动</param>
        /// <param name="name">启动值的名称</param>
        /// <param name="path">启动程序的路径</param>
        public static void RunWhenStart(bool Started, string name, string path)
        {
            using (RegistryKey HKLM = Registry.LocalMachine)
            {
                using (RegistryKey Run = HKLM.CreateSubKey(@"SOFTWARE/Microsoft/Windows/CurrentVersion/Run",RegistryKeyPermissionCheck.ReadWriteSubTree))
                {
                    if (Started)
                    {
                        try
                        {
                            Run.SetValue(name, path);
                        }
                        catch (Exception Err)
                        {
                            MessageBox.Show(Err.Message.ToString(), "出错啦!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                    else
                    {
                        try
                        {
                            Run.DeleteValue(name);
                        }
                        catch (Exception Err)
                        {
                            MessageBox.Show(Err.Message.ToString(), "出错啦!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                }
            }
        } 

 

调用方式:

        private void toolStripMenuItem2_Click(object sender, EventArgs e)
        {
            string MyKey = "ForumsToolServiceMonitor";
            string Path = Application.StartupPath + @"/ForumsToolServiceMonitor.exe";
            if (toolStripMenuItem2.Checked)
            {
                ForumsToolServiceMonitor.RunWhenStart(true, MyKey, Path);
            }
            else
            {
                ForumsToolServiceMonitor.RunWhenStart(false, MyKey, Path);
            }
        }

原创粉丝点击