开机自启动
/// <summary> /// 开机启动 /// </summary> public class AutoRunBusiness { #region 字段 private readonly string _registryKeyName = @"Software\Microsoft\Windows\CurrentVersion\Run"; private readonly string executablePath = System.Windows.Forms.Application.ExecutablePath; private readonly string _sucessMessage = "开机启动设置成功"; private readonly string _sucessFail = "开机启动设置失败"; #endregion #region 对外方法 /// <summary> /// 设置自启动 /// </summary> /// <param name="autoRun">true表示要自启动,false表示停止自启动</param> public void SetAutoRun(bool autoRun) { string exeName = Path.GetFileNameWithoutExtension(executablePath); using (RegistryKey currentUser = Registry.CurrentUser) { try { bool setResult = SetAutoRun(currentUser, autoRun, exeName, executablePath); if (!setResult) { return; } } catch (Exception ex) { } } } #endregion #region 内部逻辑 private bool SetAutoRun(RegistryKey rootKey, bool autoRun, string exeName, string executablePath) { using (RegistryKey autoRunKey = rootKey.OpenSubKey(_registryKeyName, true)) { if (autoRunKey != null) { return SetRun(autoRun, exeName, executablePath, autoRunKey); } return CreateAndSetRun(rootKey, autoRun, exeName, executablePath); } } private bool CreateAndSetRun(RegistryKey rootKey, bool autoRun, string exeName, string executablePath) { try { using (var newAutoRunKey = rootKey.CreateSubKey(_registryKeyName, RegistryKeyPermissionCheck.ReadWriteSubTree)) { return SetRun(autoRun, exeName, executablePath, newAutoRunKey); } } catch (Exception ex) { return false; } } private bool SetRun(bool autoRun, string exeName, string executablePath, RegistryKey autoRunKey) { try { if (autoRunKey == null) return false; if (autoRun) //设置开机自启动 { autoRunKey.SetValue(exeName, $"\"{executablePath}\" "); return true; } CancelRun(exeName, autoRunKey); } catch (Exception ex) { return false; } return true; } private static void CancelRun(string exeName, RegistryKey autoRunKey) { //取消开机自启动 autoRunKey.DeleteValue(exeName, false); } #endregion }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南