- #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;
- }