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 Started, string name, string path) 
{ 
  RegistryKey HKLM = Registry.LocalMachine; 
  RegistryKey Run = HKLM.CreateSubKey(@\"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\"); 
  if (Started == true) 
  { 
    try
    { 
      Run.SetValue(name, path); 
      HKLM.Close(); 
    } 
    catch (Exception Err) 
    { 
      MessageBox.Show(Err.Message.ToString(), \"MUS\", MessageBoxButtons.OK, MessageBoxIcon.Error); 
    } 
  } [Page]
  else
  { 
    try
    { 
      Run.DeleteValue(name); 
      HKLM.Close(); 
    } 
    catch (Exception) 
    { 
      // 
    } 
  } 
}

 

/// <summary>
/// 开机启动项
/// </summary>
/// <param name=\"Started\">是否启动</param>
/// <param name=\"name\">启动值的名称</param>
/// <param name=\"path\">启动程序的路径</param>
public static void RunWhenStart(bool Started, string name, string path)
{
  RegistryKey HKLM = Registry.LocalMachine;
  RegistryKey Run = HKLM.CreateSubKey(@\"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\");
  if (Started == true)
  {
    try
    {
      Run.SetValue(name, path);
      HKLM.Close();
    }
    catch (Exception Err)
    {
      MessageBox.Show(Err.Message.ToString(), \"MUS\", MessageBoxButtons.OK, MessageBoxIcon.Error);
    }
  } [Page]
  else
  {
    try
    {
      Run.DeleteValue(name);
      HKLM.Close();
    }
    catch (Exception)
    {
      //
    }
  }
}
posted @ 2016-04-18 13:29  zhuweirandy  阅读(3314)  评论(0编辑  收藏  举报