WinForm设置开机自启

我不是罗大锤 2021年11月23日 143次浏览
/// <summary>
/// 设置程序是否开机自启,通过修改注册表键值实现
/// </summary>
/// <param name="isAuto"></param>
/// <returns></returns>
public static bool AutoStart(bool isAuto = true)
{
    try
    {
    	// 当前启动项设置保存在HKEY_Current_User下
     	// 如果想保存在HKEY_LOCAL_MACHINE
      	// 将Registry.CurrentUser改成Registry.LocalMachine
    	RegistryKey R_local = Registry.CurrentUser;
     	RegistryKey R_run = R_local.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run");
           if (isAuto)
           {
           	R_run.SetValue("久坐提醒", Application.ExecutablePath);
                   R_run.Close();
    		R_local.Close();
    	}
    	else
    	{
            	R_run.DeleteValue("久坐提醒", false);
                   R_run.Close();
                   R_local.Close();
    	}
    	return true;
    }
    catch (Exception e)
    {
    	Console.WriteLine(e.Message);
    	return false;
    }
}