最近遇到一个项目,要求我写的程序能够在系统开机后自动运行。 我想这多难啊,把程序扔到(启动)目录下就可以了。 如果还不行,通过注册列表将程序添加到启动项(\\\\\Run)目录下;
然而折腾了半天,无论我用什么方法启动,最后发现如果开机后不登录系统账户,程序根本就不允许运行(根据项目要求,程序运行系统的管理员帐户必须有密码);
于是我尝试了各种百度的方法,终于找到了一个有效的方法。
文章来自:实现一个不依赖账号登录的启动程序,但是本文的前两种方法不起作用。 文章中的第三种方法来自(Slyar大神)的一篇文章:
win下,系统自动运行程序,无需登录系统。 本文使用该服务来启动您的程序;
具体的配置方法在原文中有介绍,但是所需工具的下载地址链接失效了,所以我又找到了另一个下载地址。
===================================华丽的分割线============== ============
以下是我自己的配置过程,仅供参考:
1、下载.exe(可以为系统安装和删除服务)和.exe(可以让程序作为服务运行)放到某个目录下(下面用%path%来代替具体的目录路径);
例如:我输入“D:\”
2、打开命令行CMD,输入“%path%\%path%\.exe”回车;
%path%表示.exe和.exe的目录(我的服务目录D:\),就是你要创建的服务的名称(我的服务名:);
比如我的命令:D:\\D:\\.exe
3.打开注册表编辑器,找到以下目录
\\\\
例如:\\\\
5、鼠标左键单击“”,在右侧单击鼠标右键,创建一个“字符串值”(),命名为“”,值中填入你要执行的程序的完整路径数据。
6(可选)。 鼠标左键单击“”,在右侧单击鼠标右键,创建一个“字符串值”(),名称为“”,在值数据中填写该服务所依赖的服务名称。 如果你不知道依赖是什么,可以继续忽略,我就不解释了。
7、打开.msc服务控制面板,找到它,鼠标右键-属性-登录,勾选“允许服务与桌面交互”(一般你要运行的程序都有界面)。
最后,完成后,重新启动计算机,看看程序是否在您未登录的情况下自动运行。不要问我如何确定它是在您登录之前自动运行,还是在您登录之后自动运行,您自己想一下;