C#/WPF让程序开机自动启动

Posted mxczc

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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让程序开机自动启动的主要内容,如果未能解决你的问题,请参考以下文章

如何让A20,android开机自动启动C程序

如何让应用开机自动启动

CentOS 怎么让 Strongswan IPSec 开机自动启动

怎么把.bat添加成系统服务让开机自动启动

如何让程序开机自动启动,并以管理员权限运行

mysql服务怎么让开机自动启动