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",0
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(1000); } }); 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#-Windows服务
标签:
C# 程序设置开机启动
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人