C# 将程序添加到启动项 (写入注册表),及从启动项中删除

来源:互联网 发布:linux怎样输入 编辑:程序博客网 时间:2024/05/22 06:07
      #region 将程序添加到启动项       /// <summary>       /// 注册表操作,将程序添加到启动项       /// </summary>       public static void SetRegistryApp()       {           try           {               Microsoft.Win32.RegistryKey Reg;               string ShortFileName = Application.ProductName;               Reg = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", true);               if (Reg == null)               {                   Reg = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run");               }               Reg.SetValue(ShortFileName, Application.ExecutablePath);           }           catch (Exception ex)           {               MessageBox.Show(ex.Message);           }       }       #endregion       #region 将程序从启动项中删除       /// <summary>       /// 注册表操作,删除注册表中启动项       /// </summary>       public static bool DeleteRegisterApp()       {           string ShortFileName = Application.ProductName;           //获得应用程序名           try           {               Microsoft.Win32.RegistryKey Reg;               Reg = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", true);               if (Reg == null)               {                   Reg = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run");               }               Reg.DeleteValue(ShortFileName, false);           }           catch (Exception ex)           {               return false;           }           return true;       }       #endregion       /// <summary>       ///     检查当前程序是否在启动项中       /// </summary>       /// <returns></returns>       public static bool CheckExistRegisterApp()       {           string ShortFileName = Application.ProductName;           //获得应用程序名           bool bResult = false;           try           {               Microsoft.Win32.RegistryKey Reg;               Reg = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run", true);               if (Reg == null)               {                   Reg = Microsoft.Win32.Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run");               }               foreach (string s in Reg.GetValueNames())               {                   if (s.Equals(ShortFileName))                   {                       bResult = true;                       break;                   }               }           }           catch (Exception ex)           {               return false;           }           return bResult;       }