C#——设置开机启动

本文转载连接: https://www.cnblogs.com/wuqiuxue/p/7680430.html

 

将exe应用程序设置为开机启动,有多种方法,我们主要通过注册表设置开机启动选项。

using Microsoft.Win32;
using System.Windows.Forms;
static void Main(string[] args)
{
    string exepath = Application.ExecutablePath;
    Console.WriteLine(exepath);
    RegistryKey RKey = Registry.LocalMachine.CreateSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run");//添加到所有用户的注册表启动项
    RKey.SetValue("Myself_exe", exepath);
    RKey.Close();
    Console.ReadKey();
}
static void Main(string[] args)
{
    int sleepsec = args.Length > 0 ? Convert.ToInt32(args[0]) : 0;
    Console.WriteLine(sleepsec);
    string exepath = Application.ExecutablePath;
    Console.WriteLine(exepath);
    RegistryKey RKey = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true);//添加当前登录用户的注册表启动项
    RKey.SetValue("self_exe", string.Format("{0} 30", exepath), RegistryValueKind.String);
    RKey.Close();
    Console.ReadKey();
}

添加所有用户注册的地址:

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Run

添加当前用户注册的地址:

计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

RKey.DeleteValue(exepath);//删除注册表
RKey.Close(); 

注释:通过添加所有用户的注册表启动项(LocalMachine)会有权限问题,下次开机的时候会报异常,解决办法是将exe可执行文件更改为以管理员模式启动此程序。

优点:通过注册表传参的方式,在开机启动的时候会带入参数的数值,但是只要开过机,程序的二次启动就不会带入参数。所以可以利用这个特性,我们可以让程序做个休眠,因为开机启动的程序过多,会对电脑造成过大负荷。

参考:C#设置开机启动项、取消开机启动项C# 将程序添加开机启动的三种方式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值