win下开机不登陆系统自动运行程序

文章作者:姜南(Slyar) 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

Jet的电脑可以定时开机了,但是他希望XP系统启动后在不登陆用户的情况下运行锐捷和电驴,拿到这个问题的时候我第一个想法就是用服务,因为大家都知道服务启动是无视用户登录情况的。

简单来说,我用SC添加了一个服务,结果失败了,因为windows那该死的服务机制,具体原因我懒得写,总之就是不行。最后我跑到Microsoft Support那里找到了解决方法。

Windows NT Resource Kit 提供了2个小工具可以帮助我:

Instrsrv.exe installs and removes system services from Windows NT.

Srvany.exe allows any Windows NT application to run as a service.

Instsrv.exe可以给系统安装和删除服务,Srvany.exe可以让程序以服务的方式运行,你可以到我博客里的下载基地下载"Slyar_InstSrv_Srvany.rar"得到它们。下面我来说具体安装过程。

1、将Instsrv.exe和Srvany.exe放置到某目录下,下面用%path%代替路径

2、打开CMD,输入以下内容,其中ServerName为你要创建的服务名称

%path%\instsrv ServerName %path%\srvany.exe

3、打开regedit注册表编辑器,找到以下目录

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\

4、鼠标右键单击,创建一个"项",名称为"Parameters"

5、鼠标左键单击"Parameters",在右边点击鼠标右键,创建一个"字符串值"(REG_SZ),名称为"Application",数值数据里填写你要执行的程序完整路径。

6(可选)、鼠标左键单击"Parameters",在右边点击鼠标右键,创建一个"字符串值"(REG_SZ),名称为"DependOnService",数值数据里填写该服务依存的服务名称。不知道依存是什么的,你可以保持继续不知道,我不解释。

7、打开services.msc服务控制面板,找到,鼠标右键-属性-登陆,勾选"允许服务与桌面交互"(一般你要运行的程序都是有界面的吧)。

恩,一般这样就可以了。

原文出处:http://www.slyar.com/blog/win-instsrv-srvany-server.html

补充:程序可以启动后,instsrv.exe可删除,srvany.exe不能删除(包括路径都不能删,不能动)

谢谢原作者,帮我解决了问题

你可能感兴趣的:(C#开发)