将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 > ? Convert.ToInt32(args[]) : ;
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# 将程序添加开机启动的三种方式

C#——设置开机启动的更多相关文章

  1. ubuntu下设置开机启动服务

    原文:http://blog.csdn.net/dante_k7/article/details/7213151 在ubuntu10.04之前的版本都是使用chkconfig来进行管理,而在之后的版本 ...

  2. windows设置开机启动项

    一.windows下设置开机启动有如下方法 1 注册表启动项目RUN 2 计划任务,在"windows管理">"计划任务管理器"中新建任务,在操作栏指定要 ...

  3. centos7安装docker并设置开机启动

    版本要求:查看内核版本,需大于3.10 [root@localhost ~]# uname -r -.el7.x86_64 更新内核:如果是生产机器务必慎重更新内核,避免出现不必要的问题. sudo ...

  4. openerp 7 在ubuntu上设置开机启动

    我们要让openerp开机运行起来. 第一步,先进入系统目录: cd /etc/init.d 第二步,创建文件.命名为openerp-server sudo vi openepr-server 第三步 ...

  5. [转载]C#设置开机启动

    原理就是在注册表启动项里添加一项.路径:SOFTWARE\Microsoft\Windows\CurrentVersion\Run或者直接:运行->regedit找到这个路径添加一项. usin ...

  6. Fedora 21 设置开机启动脚本

    sudo touch /etc/rc.d/rc.localsudo vim /etc/rc.d/rc.local 在/etc/rc.d/rc.local文件中写入, 然后使用:wq命令 保存并退出. ...

  7. windows下架设SVN服务器并设置开机启动

    原文:windows下架设SVN服务器并设置开机启动 1.安装SVN服务器,到http://subversion.apache.org/packages.html上下载windows版的SVN,并安装 ...

  8. Linux Redis自动启动,Redis开机启动,Linux Redis设置开机启动

    Linux Redis自动启动,Redis开机启动,Linux Redis设置开机启动 >>>>>>>>>>>>>> ...

  9. Redis 设置开机启动

    1. 将下列代码保存为文件redis, 置于 /etc/init.d 下面 ########################### # chkconfig: 2345 90 10 redis服务必须在 ...

  10. ubuntu-18.04 设置开机启动脚本-亲测有效

    ubuntu-18.04不能像ubuntu14一样通过编辑rc.local来设置开机启动脚本,通过下列简单设置后,可以使rc.local重新发挥作用. 2.将下列内容复制进rc-local.servi ...

随机推荐

  1. 【待续】海思Hi3520A学习笔记

    /********************************************************************* * By                       : ...

  2. nyoj_528_找球号(三)_201404152050

    找球号(三) 时间限制:2000 ms  |  内存限制:3000 KB 难度:2   描述 xiaod现在正在某个球场负责网球的管理工作.为了方便管理,他把每个球都编了号,且每个编号的球的总个数都是 ...

  3. 《深入理解PHP内核》

    http://www.php-internals.com/ http://www.cnblogs.com/zcy_soft/category/252731.html

  4. dubbo bug之 Please check registry access list (whitelist/blacklist)的分析与解决

    1.基本就是dubbo provider没有启动会造成这种情况. 2.api和service是同一个项目,并不是俩项目. 通过启动api,run on server是不能启动service的,必须通过 ...

  5. 【Android】自己定义圆形ImageView(圆形头像 可指定大小)

    近期在仿手Q的UI,这里面常常要用到的就是圆形头像,看到 在android中画圆形图片的几种办法 这篇文章,了解了制作这样的头像的原理.只是里面提供的方法另一个不足的地方就是不能依据实际需求改变图片的 ...

  6. installshield中的installscript编程

    上一篇说道了InstallShield高速建立一个打包程序,如今说说InstallShield里面的installscript脚本. 该文属于个人理解.參考一些相关文章. 相关资料下载地址:http: ...

  7. Go语言用堆排序的方法进行一千万个int随机数排序.

    上篇文章用的是quicksort方法排序,可是假设用高速排序法对反复率非常高的slice排序的时候,时间复杂度会激增,速度相当慢 所以尝试了一下堆排序,实验结果,感觉挺好的.以下是代码,大家能够參考一 ...

  8. logistic regression教程3

    在线性拟合的基础上,我们实现logistic regression. 如前所述,样本集是 {x1,y1},{x2,y2},...,{xn,yn}[1] 其中,xi=[1,xi,1,xi,2,xi,3, ...

  9. #HDU 3790 最短路径问题 【Dijkstra入门题】

    题目: 最短路径问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  10. LeetCode 720. Longest Word in Dictionary (字典里最长的单词)

    Given a list of strings words representing an English Dictionary, find the longest word in words tha ...