C#应用程序随机启动

如果想你写的程序随系统开机一起启动的话,那么你可以照下面这个方法来做。 
RunWhenStart(false, Application.ProductName, Application.StartupPath + @\"\\MUS.exe\"); 
  

        /// <summary> 
        /// 开机启动项 
      /// </summary> 
        /// <param name=\"Started\">是否启动</param> 
        /// <param name=\"name\">启动值的名称</param> 
        /// <param name=\"path\">启动程序的路径</param> 
        public static void RunWhenStart(bool bStarted, string name, string path)
        {
            RegistryKey hklm = Registry.LocalMachine;
            RegistryKey run = hklm.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run\");
            try
            {
                if (bStarted)
                {
                    run.SetValue(name, path);
                }
                else
                {
                    run.DeleteValue(name);
                }
            }
            catch (Exception err)
            {
                MessageBox.Show(err.Message.ToString(), "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                hklm.Close();
                run.Close();
            }
        }

添加一个checkbox在启动时显示于用户界面,并添加CheckedChanged事件,即可以通过checkbox设置是否随时启动。
       

         /// <summary>
        /// 设置开机自动启动
      /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void chrb_CheckedChanged(object sender, EventArgs e)
        {
            string startPath = Application.ExecutablePath;

            RunWhenStart(chrb.Checked, "SendMessage", startPath);
        }
posted on 2011-04-09 11:03  陈国利  阅读(1162)  评论(0编辑  收藏  举报