level 1
@echo off:sttasklist|find "主要进程">nul||shutdown -t 0 -r -f&&exitecho Wscript.sleep 15000 >y.vbscall y.vbs goto st把上面这个保存成 .bat 文件,再把下面这个保存成 vbs 文件,让这个vbs在开机时启动,让它调用bat在后台运行set Cleaner=createobject("wscript.shell") Cleaner.run "批处理文件名",vbhide 这两个vbs选其一set ws=wscript.createobject("wscript.shell") ws.run "批处理文件名 /start",0先用tasklist查看当前的进程,然后把这个进程列表传给find去查找那个结束后能免费上网的进程,如果这个进程存在,那停一下,再返回到开始,再重新查,如果不存在就重新启动!我一运行此BAT 就直接重启 (具体BAT):@echo off:sttasklist|find "WINRAR.EXE">nul||shutdown -t 0 -r -f&&exitecho Wscript.sleep 15000 >y.vbscall y.vbs goto st哪里出现问题 前提WINRAR.EXE进程存在!
2008年05月21日 14点05分
1
level 1
我 的想法是:保护系统的某一个进程 不被终结 一旦终结此进程或发现此进程不存在 就会重新启动机器!希望有懂的朋友多多帮忙!恶补批处理已经来不及了。。无奈!
2008年05月21日 14点05分
2
level 0
:asdtasklist | find /i "qq.exe" >nul 2>nul||shutdown -t 100 -r -fecho Wscript.sleep 15000 >y.vbs call y.vbs goto asd你的find要加 /i参数 不然要区分大小写的 当然就重新启动了我用你的套了下 这个是没问题的
2008年05月21日 16点05分
3
level 12
干嘛那么麻烦?直接用纯VBS做。Set ws=createobject("wscript.shell")if not Checkit(".","qq.exe")thenws.run "shutdown -r -t 0",0end ifwScript.quitFunction Check(Computer,process)set WMI=GetObject("winmgmts:\\"&Computer&"\root\cimv2")set aProcess=WMI.ExecQuery("Select * from Win32_Process")Check=FalseFor Each i in aProcessIf i.Name="qq.exe" ThenCheck = TrueExit ForEnd IfNextEnd Function
2008年05月21日 21点05分
4
level 12
有点不太对,Set ws=createobject("wscript.shell")if not Check(".","qq.exe")thenws.run "shutdown -r -t 0",0end ifwScript.quitfunction Check(Computer,process)set wmi=getObject("winmgmts:\\"&Computer&"\root\cimv2")set aProcess=wmi.ExecQuery("Select * from Win32_Process")Check=FalseFor Each i in aProcessIf i.Name=process ThenCheck = TrueExit ForEnd IfNextEnd Function
2008年05月21日 21点05分
5
level 0
晕 批处理吧都快成VBS吧了 楼主的意思是连批处理都是刚学的 写什么VBS
2008年05月25日 15点05分
6