设置程序开机启动,可以通过修改注册表将启动信息写入注册表来实现。
在"运行"中输入 regedit ,就可以打开注册表。注册表左侧的都是项,右边列出值(一项可以对应
多个值),每个值对应 值名称 和 值数据。
C#为操作注册表提供了两个类,Registry和RegistryKey。
Registry提供提供静态方法对访问,RegistryKey提供实例方法对具体的项和值进行读写。
下面这个程序函数可以添加开机启动项或删除某个开机启动项:
////// 开机启动项 /// /// 是否启动 /// 启动程序的名称 /// 启动程序的路径 public static void RunWhenStart(bool Started, string name, string path) { RegistryKey rk = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run", true); try { if (Started == true) { rk.SetValue(name, path); } else { rk.DeleteValue(name); } } catch (Exception Err) { MessageBox.Show(Err.Message.ToString(), "错误提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } finally { rk.Close(); } }
调用时可以这样调用:
//开机启动记事本RunWhenStart(true, "开机运行记事本",@"C:\Windows\notepad.exe");//删除这个值RunWhenStart(false,"开机运行记事本",@"C:\Windows\notepad.exe");
提示:如果第一个参数为true,并且.exe程序路径正确,那么运行时360就会有提示说有人修改
开机启动项;如果第一个参数为false,那么就会删除该项值。