首页 > 代码库 > C#/WPF让程序开机自动启动
C#/WPF让程序开机自动启动
最近一个C/S项目客户要求开机自启的功能,网上找了一些方法,不顶用;最后自己去翻书,找到了这段代码,亲测可用,Wpf环境下需要改下获取程序目录的方式即可,Winform直接可用。
1 #region 设置开机自启 2 string strName = AppDomain.CurrentDomain.BaseDirectory + "AutoRunPro.exe";//获取要自动运行的应用程序名 3 if (!System.IO.File.Exists(strName))//判断要自动运行的应用程序文件是否存在 4 return; 5 string strnewName = strName.Substring(strName.LastIndexOf("\\") + 1);//获取应用程序文件名,不包括路径 6 RegistryKey registry = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);//检索指定的子项 7 if (registry == null)//若指定的子项不存在 8 registry = Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");//则创建指定的子项 9 registry.SetValue(strnewName, strName);//设置该子项的新的“键值对” 10 11 if (MessageBox.Show("设置完毕") == DialogResult.OK) 12 { 13 RefreshSystem();//刷新系统 14 } 15 #endregion
1 #region 取消开机自启 2 string strName = AppDomain.CurrentDomain.BaseDirectory + "AutoRunPro.exe";//获取要自动运行的应用程序名 3 if (!System.IO.File.Exists(strName))//判断要取消的应用程序文件是否存在 4 return; 5 string strnewName = strName.Substring(strName.LastIndexOf("\\") + 1);///获取应用程序文件名,不包括路径 6 RegistryKey registry = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true);//读取指定的子项 7 if (registry == null)//若指定的子项不存在 8 registry = Registry.LocalMachine.CreateSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run");//则创建指定的子项 9 registry.DeleteValue(strnewName, false);//删除指定“键名称”的键/值对 10 if (MessageBox.Show("设置完毕") == DialogResult.OK) 11 { 12 RefreshSystem(); 13 } 14 #endregion
C#/WPF让程序开机自动启动
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。