首页 > 代码库 > win下开机不登陆系统自动运行程序
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\<ServerName>
4、鼠标右键单击<ServerName>,创建一个"项",名称为"Parameters"
5、鼠标左键单击"Parameters",在右边点击鼠标右键,创建一个"字符串值"(REG_SZ),名称为"Application",数值数据里填写你要执行的程序完整路径。
6(可选)、鼠标左键单击"Parameters",在右边点击鼠标右键,创建一个"字符串值"(REG_SZ),名称为"DependOnService",数值数据里填写该服务依存的服务名称。不知道依存是什么的,你可以保持继续不知道,我不解释。
7、打开services.msc服务控制面板,找到<ServerName>,鼠标右键-属性-登陆,勾选"允许服务与桌面交互"(一般你要运行的程序都是有界面的吧)。
恩,一般这样就可以了。
原文出处:http://www.slyar.com/blog/win-instsrv-srvany-server.html
补充:程序可以启动后,instsrv.exe可删除,srvany.exe不能删除(包括路径都不能删,不能动)
谢谢原作者,帮我解决了问题
win下开机不登陆系统自动运行程序