批处理+VBS+注册表实现开机自动启动EXE程序

时间:2024-03-04 21:57:35

批处理+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