【代码块】-Helper-开机启动

发布时间 2023-08-08 23:07:19作者: 叫夏洛啊

整理代码块

代码块整理后存储,供后期使用

using Microsoft.Win32;

/*
这段代码可以用于将一个程序设置为开机启动项,或者从开机启动项中移除
*/
public class StartupHelper
{
    /// <summary> 
    /// 设置开机启动项 
    /// </summary> 
    /// <param name="enabled">是否启动</param> 
    /// <param name="name">启动项的名称</param> 
    /// <param name="path">启动程序的路径</param> 
    public void SetStartup(bool enabled, string name, string path)
    {
        RegistryKey HKLM = Registry.LocalMachine;
        RegistryKey Run = HKLM.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run");

        if (enabled)
        {
            try
            {
                Run.SetValue(name, path);
                HKLM.Close();
            }
            catch
            {
                // 没有权限会抛出异常
            }
        }
        else
        {
            try
            {
                Run.DeleteValue(name);
                HKLM.Close();
            }
            catch
            {
                // 没有权限会抛出异常
            }
        }
    }
}