一、示例使用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# 根据注册表获取当前用户的常用目录整理

Windows服务简单实例

VS Code搭建.NetCore开发环境(二)

C# 程序设置开机启动(一)的更多相关文章

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

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

  2. ubuntu设置开机启动图形应用程序,替换默认图形桌面

    直接将启动程序放在rc.local即可.但是如果自动启动的程序奔溃后,会返回到ubuntu的unity桌面系统. 我遇到的问题是程序还有调用 xset 去定时关闭屏幕.在桌面启动后调用没问题.如果rc ...

  3. Linux上设置开机启动Java程序

    在Linux上设置开机启动Java程序,例如:test.jar 在Linux上启动Java程序的命令: nohup java -jar test.jar >/dev/>& & ...

  4. linux设置开机启动程序?

    /etc/rc.d/init.d 是 /etc/init.d的目标链接. 如果/etc/rc.d下面没有 rc.local脚本文件, 则需要 手动创建: 而 /etc/bashrc 是在登陆bash ...

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

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

  6. windows设置开机启动项

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

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

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

  8. Ubuntu 18.04 启用 rc.local 设置开机启动

    ubuntu18.04 不再使用initd管理系统,改用systemd. 然而systemd很难用,改变太大,跟之前的完全不同. 使用systemd设置开机启动为了像以前一样,在/etc/rc.loc ...

  9. C#——设置开机启动

    将exe应用程序设置为开机启动,有多种方法,我们主要通过注册表设置开机启动选项. using Microsoft.Win32; using System.Windows.Forms; static v ...

随机推荐

  1. 【AtCoder】ARC084

    C - Snuke Festival 对于每个B二分求出几个A比它小记为sum 然后对于每个C就是比它小的B的sum的和 #include <bits/stdc++.h> #define ...

  2. kafka 基础知识梳理

    一.kafka 简介 kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据.这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因 ...

  3. P1164 小A点菜 洛谷

    题目背景 uim神犇拿到了uoi的ra(镭牌)后,立刻拉着基友小A到了一家……餐馆,很低端的那种. uim指着墙上的价目表(太低级了没有菜单),说:“随便点”. 题目描述 不过uim由于买了一些辅(e ...

  4. P1757 通天之分组背包

    P1757 通天之分组背包背包中的经典问题,我竟然不知道.分组背包就是每个物品有一个所属的小组,小组内的物品会冲突.就是把01背包中的两个for换一下位置01:for(i,1,kind) for(j, ...

  5. ftp服务及其实现之vsftpd

    本文最早发布于我的51CTO博客,目前已迁移至博客园. 简介 FTP,File Transfer Protocol,文件传输协议 文件服务器,具备存储和共享文件(权限设置合理的情况下)的功能 命令端口 ...

  6. C#泛型的抗变与协变

    C#泛型的抗变与协变 学习自 C#本质论6.0 https://www.cnblogs.com/pugang/archive/2011/11/09/2242380.html Overview 一直以来 ...

  7. [CEOI2018]Global warming

    [CEOI2018]Global warming 题目大意: 给定\(n(n\le2\times10^5)\),你可以将任意\(a_{l\sim r}(1\le l\le r\le n)\)每一个元素 ...

  8. windows servier2008+virtualenv下部署Flask (IIS+wfastcgi)

    由于业务只有一台windows server2008的服务器,一般的nginx+uwsgi的部署方式不行,以下记录部署过程,本文参考自:https://www.cnblogs.com/xiaolecn ...

  9. spring-boot 速成(11) - 单元测试

    一.添加依赖项: testCompile 'org.springframework.boot:spring-boot-starter-test:1.5.2.RELEASE' 二.单元测试代码示例 im ...

  10. 您该选择PRINCE2 还是 PMP认证

    您该选择PRINCE2 还是 PMP认证? 很多人都问我,这是一个非常常见的问题,作为一个项目经理,他们是否应选择PRINCE2或PMP认证,因为这两个认证都是全世界非常流行的. PRINCE2 是一 ...