【实用教程】如何让程序崩溃复原 影刀或者qq等等
评论
收藏

【实用教程】如何让程序崩溃复原 影刀或者qq等等

经验分享
小可耐教你学影刀RPA【哔哩哔哩同名】
2024-03-01 16:08·浏览量:280
小可耐教你学影刀RPA【哔哩哔哩同名】
发布于 2024-03-01 16:08280浏览


前言

有客户反馈影刀运行久了或者什么其他异常情况可能会崩溃 有办法让他自启动吗


解决方案

参考了很多文章总结下来可以用bat脚本 或者ps脚本可以实现后台监控

大概的意思就是写个无限循环判断进程还在不 不在就启动

https://www.likecs.com/show-204038387.html#sc=1200

https://blog.csdn.net/u011229848/article/details/81490178

https://gist.github.com/MarshalW/7cebb38dce6a83c1623bebc222eaf615

https://www.likecs.com/show-204038387.html#sc=1200



脚本大概格式

for($x=1; $x -lt 10; $x=$x+1)   
{   
 Start-Process 全路径  -NoNewWindow -Wait
 echo $x   
 Start-Sleep 3
}




参考腾讯qq自启动脚本

切换到腾讯的bin目录

cd "D:\Program Files (x86)\Tencent\QQ\Bin"

打开PowerShell 管理员模式启动 运行这个脚本 记得替换启动的路径

for($x=1; $x -lt 10; $x=$x+1)   
{   
 Start-Process "D:\Program Files (x86)\Tencent\QQ\Bin\QQScLauncher.exe"  -NoNewWindow -Wait
 echo $x   
 Start-Sleep 3
}


📎test2.ps1

影刀

ps脚本


for($x=1; $x -lt 10; $x=$x+1)   
{   
 Start-Process "D:\Program Files (x86)\ShadowBot\ShadowBot.exe"  -NoNewWindow -Wait
 echo $x   
 Start-Sleep 3
}


.bat 版本

@echo off

for /F "tokens=2 delims==" %%i in ('wmic os get localdatetime /VALUE') do set datetime=%%i
set year=%datetime:~0,4%
set month=%datetime:~4,2%
set day=%datetime:~6,2%
set hours=%datetime:~8,2%
set minutes=%datetime:~10,2%
set seconds=%datetime:~12,2%
echo [%year%-%month%-%day% %hours%:%minutes%:%seconds%] 开始监控影刀进程...
SET ProcessName=ShadowBot.Shell.exe

FOR /F "tokens=2*" %%a in ('REG QUERY "HKEY_CURRENT_USER\Software\ShadowBot x64" /v InstallPath 2^>nul') do set ProgramPath=%%b
if "%ProgramPath%"=="" (
    FOR /F "tokens=2*" %%a in ('REG QUERY "HKEY_CURRENT_USER\Software\ShadowBot" /v InstallPath 2^>nul') do set ProgramPath=%%b
)
if "%ProgramPath%"=="" (
    echo 未能找到影刀安装目录。
    pause
    exit
)

:loop
for /F "tokens=2 delims==" %%i in ('wmic os get localdatetime /VALUE') do set datetime=%%i
set year=%datetime:~0,4%
set month=%datetime:~4,2%
set day=%datetime:~6,2%
set hours=%datetime:~8,2%
set minutes=%datetime:~10,2%
set seconds=%datetime:~12,2%

tasklist /fi "imagename eq %ProcessName%" | find /i "%ProcessName%" >nul
if errorlevel 1 (
    echo [%year%-%month%-%day% %hours%:%minutes%:%seconds%] %ProcessName% 找不到进程,正在启动进程...
    start "" "%ProgramPath%\ShadowBot.exe"
)

timeout /t 7 /nobreak >nul
goto loop






收藏2
全部评论1
最新
发布评论
评论