批处理+VBS+注册表实现WINDOWS开机自动启动EXE程序
以下都是基于WINDOWS系统。
我们都知道当我们有想某个程序在开机时自动运行,只能有三个方式:
1、做成服务,然后对服务进行配置为自动启动(可以实现不进行用户登录完成);
2、做成驱动程序,随系统启动(可以实现不进行用户登录完成);
3、做成EXE程序,添加到开机启动项(必须得在用户登录情况下完成)。
而我现在要解决的就是第三种情况
我有个想开机自动启动EXE的需求,而由于某些原因这个EXE短时间内无法做成服务,所以网上找了下方法,功夫不负有心人,成功了,下面是思路:
1、配置默认用户、默认用户密码
1 “让XP开机自动登陆系统”这样 设置一下注册表就可以啊~ 2 当然 也可以用批处理来设置注册表.. 3 reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /f /v AutoAdminLogon /d 1 4 reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /f /v DefaultUserName /d 用户名 5 reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /f /v DefaultPassword /d 密码 6 7 上面用户名 密码对应你的用户名 密码
2、使用批处理RunExe.bat代替exe,需要用户输入密码
1 @echo off 2 echo ############################ 3 echo # # 4 echo # 输入字符测试 # 5 echo # # 6 echo ############################ 7 @set /p string= 8 @pause
3、使用Vbs脚本Start.vbs启动,并模拟用户输入密码,然后等待3秒,关闭窗口
1 \'-----功能:自动输入数字开启服务 2 set ws=createobject("wscript.shell") 3 4 ws.run "cmd /c RunExe.bat" 5 wscript.sleep 300 6 ws.sendkeys "input password" 7 ws.sendkeys "+{enter}" 8 \'等待3秒 9 wscript.sleep 3000 10 \'关闭窗口 11 ws.sendkeys "%Q"
4、把Start.vbs加入启动项,如下图:
5、重启电脑,等待看结果
这是结果过程中的CONSOLE窗口:
Perfect,祝好运!
----------------------------
这是VBS锁屏电脑
\'电脑锁屏\'
set wshell=wscript.createobject("WScript.Shell")
wshell.Run "rundll32.exe user32.dll,LockWorkStation", 1, False