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