WinForm 之 应用程序开机自启动设置方法
Posted Now,DayBreak
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WinForm 之 应用程序开机自启动设置方法相关的知识,希望对你有一定的参考价值。
一、原理
需要开机自启动的程序,需要将其启动程序的路径写到注册表中指定的文件夹下。
二、实现方式
方法1:在生成安装程序时配置;
方法2:在程序运行时动态配置。
三、在生成安装程序时配置
1、右击安装编辑程序,在“视图”菜单中,选择“注册表”。依次打开键“HKEY_CURRENT_USER”→“Software”,如下图:
2、右键点击“Software”键→“新建(N)”→“键(K)”,创建“Microsoft”键。
3、如步骤2方式依次创建“Windows” 键→“CurrentVersion”键→“Run”键。
4、右键Run,新建“字符串值”。为右侧的key命名(在注册表中不能重名),并在属性中指定它的value值,完成后如下图所示:
注:[TARGETDIR]表示在程序的安装路径。
四、在程序运行时动态配置
在程序运行时,通过调用如下方法实现开机启动。需引用命名空间 Microsoft.Win32。
/// <summary> /// 修改程序在注册表中的键值 /// </summary> /// <param name="flag">1:开机启动</param> private void StartUp(string flag) { string path=Application.StartupPath; string keyName = path.Substring(path.LastIndexOf("\\\\") + 1); Microsoft.Win32.RegistryKey Rkey = Microsoft.Win32.Registry.CurrentUser.OpenSubKey("SOFTWARE\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Run", true); if (flag.Equals("1")) { if (Rkey == null) { Rkey = Microsoft.Win32.Registry.CurrentUser.CreateSubKey("SOFTWARE\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Run"); } Rkey.SetValue(keyName, path + @"\\PeisDoctorHZ.exe"); } else { if (Rkey != null) { Rkey.DeleteValue(keyName, false); } } }
注:该程序的启动项设置到HKEY_Current_User 下。如果想改在HKEY_LOCAL_MACHINE,只需将 CurrentUser 改为 LocalMachine,即
Rkey = Microsoft.Win32.Registry.LocalMachine.CreateSubKey("SOFTWARE\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Run");
以上是关于WinForm 之 应用程序开机自启动设置方法的主要内容,如果未能解决你的问题,请参考以下文章
[Winform]setupfactory打包时添加开机自启动的脚本