您的位置:首页 > 其它

winform程序开机自启动设置方法总结

2015-05-20 15:47 567 查看

1.原理:需要开机自启动的程序,需要将其启动程序的路径写到注册表中指定的文件夹下

2. 写入注册表的方式有两种

a.在生成安装程序时配置

b.在程序运行时,动态配置。

方法一:在生成安装程序时配置
右击安装编辑程序,在“视图”菜单中,选择“注册表”。通过右键菜单新建"键",创建出如图所示的路径。



右键Run,新建“字符串值”。为右侧的key命名(在注册表中不能重名),并在属性中指定它的value值。
注:[TARGETDIR]表示在程序的安装路径。

方法二:在程序运行时指定是否开机启动

在程序运行时,通过调用如下方法实现开机启动

/// <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");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: