在Windows系统中我们可以通过修改启动项注册表“HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run”的方法来设置程序是否开机启动:
// 开机启动程序路径 string file = Application.ExecutablePath; // 开机启动程序注册表键名 string key = Path.GetFileNameWithoutExtension(file); // 打开启动项注册表 RegistryKey localMachine = Registry.LocalMachine; RegistryKey runRegistryKey = localMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true); // 通过以下三种方法设置程序是否开机启动 // 1.删除开机启动程序注册表值,取消程序开机启动 runRegistryKey.DeleteValue(key); // 2.将开机启动程序注册表值设置为程序路径,允许程序开机启动 runRegistryKey.SetValue(key, file); // 3.获取开机启动程序注册表值,如果程序开机启动,将返回开机启动程序路径,否则返回null object value = runRegistryKey.GetValue(key); // 关闭启动项注册表 runRegistryKey.Close();