C# 程序设置开机启动(一)
一、示例使用VBScript创建启动文件,并添加到Windows系统的启动目录
默认情况下
所有用户启动目录:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
当前用户的启动目录:C:\Users\【用户】\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
1.创建VBScript文件,指定后台启动exe可执行文件,命名为"xxx.vbs"。
注:双击vbs文件就可以后台启动exe文件了
set wscriptObj = CreateObject("Wscript.Shell")
wscriptObj.run "C:\Users\HK\Desktop\HKServerEditVersion2.4\Debug\HKServer.exe",

2.将VBScript文件手动移动到系统的启动文件夹
把.vbs文件(或者它的快捷方式)直接复制到 开始-->所有程序-->启动 文件夹下。
两个启动目录都可以,只是针对的用户范围不同。
注:
1.移动文件的时候很多时候,需要管理员权限,点击允许就行了。
2.如果是快捷方式,可以没有扩展名。


二、在代码中自动创建开机启动文件处理
注意:
1.追加脚本内容,需要指定为默认编码
2.如果需要以管理员身份启动或者将启动设置为所有的本地用户,需要移动到C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp,
使用注册表获取目录的之后个目录需要为LocalMachine。
3.关于程序以管理员身份运行参考:C#如何以管理员身份运行程序(转)
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello world");
Console.WriteLine(DateTime.Now); CreateStartup();
Log("程序启动成功"); Task.Factory.StartNew(() =>
{
while (true)
{
Log($"时间:{DateTime.Now}");
Thread.Sleep();
}
});
Console.Read();
}
//记入日志
static void Log(string content)
{
//日志记录到桌面
string path = LocalPathHelper.DesktopPath + "\\data.txt";
if (File.Exists(path) == false)
{
File.Create(path).Close();
}
File.AppendAllText(path, $"{content}\r\n", Encoding.Default);
}
/// <summary>
/// 为当前程序创建后台启动文件到 开机启动文件夹
/// </summary>
static void CreateStartup()
{
/**
* 创建文件到了当前用户的启动文件夹
*/
//C:\Users\tianma\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\Console1.vbs
//使用本地的启动文件夹
//如果想移动到这个目录需要的操作:
//1.当前程序以管理员身份运行
//2.获取的注册表的根节点设置为LocalMachine
//C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup\Console1.vbs
string path = LocalPathHelper.StartupPath + "\\Console1.vbs";
if (File.Exists(path) == false)
{
File.Create(path).Close();
StringBuilder str = new StringBuilder();
str.AppendLine("set wscriptObj = CreateObject(\"Wscript.Shell\")");
str.AppendLine("wscriptObj.run \"" + LocalPathHelper.CurrentProgramPath + "\\Console1.exe\",0");
str.AppendLine();
//需要指定编码,不然无法运行命令
File.AppendAllText(path, str.ToString(), Encoding.Default);
}
}
}
三、如果需要一管理员的身份运行的程序,程序启动时都需要授权,重启后也是。



更多:
C# 程序设置开机启动(一)的更多相关文章
- [转载]C#设置开机启动
原理就是在注册表启动项里添加一项.路径:SOFTWARE\Microsoft\Windows\CurrentVersion\Run或者直接:运行->regedit找到这个路径添加一项. usin ...
- ubuntu设置开机启动图形应用程序,替换默认图形桌面
直接将启动程序放在rc.local即可.但是如果自动启动的程序奔溃后,会返回到ubuntu的unity桌面系统. 我遇到的问题是程序还有调用 xset 去定时关闭屏幕.在桌面启动后调用没问题.如果rc ...
- Linux上设置开机启动Java程序
在Linux上设置开机启动Java程序,例如:test.jar 在Linux上启动Java程序的命令: nohup java -jar test.jar >/dev/>& & ...
- linux设置开机启动程序?
/etc/rc.d/init.d 是 /etc/init.d的目标链接. 如果/etc/rc.d下面没有 rc.local脚本文件, 则需要 手动创建: 而 /etc/bashrc 是在登陆bash ...
- ubuntu下设置开机启动服务
原文:http://blog.csdn.net/dante_k7/article/details/7213151 在ubuntu10.04之前的版本都是使用chkconfig来进行管理,而在之后的版本 ...
- windows设置开机启动项
一.windows下设置开机启动有如下方法 1 注册表启动项目RUN 2 计划任务,在"windows管理">"计划任务管理器"中新建任务,在操作栏指定要 ...
- windows下架设SVN服务器并设置开机启动
原文:windows下架设SVN服务器并设置开机启动 1.安装SVN服务器,到http://subversion.apache.org/packages.html上下载windows版的SVN,并安装 ...
- Ubuntu 18.04 启用 rc.local 设置开机启动
ubuntu18.04 不再使用initd管理系统,改用systemd. 然而systemd很难用,改变太大,跟之前的完全不同. 使用systemd设置开机启动为了像以前一样,在/etc/rc.loc ...
- C#——设置开机启动
将exe应用程序设置为开机启动,有多种方法,我们主要通过注册表设置开机启动选项. using Microsoft.Win32; using System.Windows.Forms; static v ...
随机推荐
- MapReduce实战1
MapReduce编程规范: (1)用户编写的程序分成三个部分:Mapper,Reducer,Driver(提交运行mr程序的客户端) (2)Mapper的输入数据是KV对的形式(KV的类型可自定义) ...
- 034 Spark Sql的入门介绍
一:进程介绍 1.use sql 2.shark 3.spark sql 4.终止shark 5.进程线 二:spark sql细节介绍 1.hive 与sparkSql比较(以后具体学习) 2.使用 ...
- HashMap几个需要注意的知识点
HashMap简介 HashMap 是java集合框架的一部分. key value都允许null值 (除了非同步和允许使用 null 之外,HashMap 类与 Hashtable 大致相同) 不保 ...
- Nginx 日志分析命令
查看日志存放目录 # find / -name access.log /var/log/nginx/access.log cd /var/log/nginx IP相关统计 统计IP访问量(独立ip访问 ...
- mysql存储过程之游标
MySQL5 中添加了存储过程的支持. 大多数SQL语句都是针对一个或多个表的单条语句.并非所有的操作都怎么简单.经常会有一个完整的操作需要多条才能完成 存储过程简单来说,就是为以后的 ...
- JAVA 传递
其实java里面都是传值,只不过基本数据类型传的是数值,而引用类型传的是对象的地址. 作者:Intopass链接:https://www.zhihu.com/question/31203609/ans ...
- usb3.0 monitor is already started
用360 开机加速里找到这个程序,把它从开机启动中删除掉就好.
- 【BZOJ-4016】最短路径树问题 Dijkstra + 点分治
4016: [FJOI2014]最短路径树问题 Time Limit: 5 Sec Memory Limit: 512 MBSubmit: 1092 Solved: 383[Submit][Sta ...
- mySql---数据库索引原理及优化
一.写在前面 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型 ...
- Linux下以.rc结尾的文件含义
运行命令 资源控制 运行控制 运行时配置 其实我更青睐于运行时配置,也就是运行时的变量等放置变量的. 参考: https://stackoverflow.com/questions/11030552/ ...