发布网友 发布时间:2022-04-23 22:26
共2个回答
热心网友 时间:2023-09-08 22:01
用VBS循环监视进程,如果要查询的进程不存在就发出重启命令。
补充:
复制脚本并保存为任意名字.vbs,calc.exe是计算器进程(本例用来测试),换成你们监控程序,每5秒检查一次可能太短了,自己改下。有疑问再补充。实在不行你把进程名告诉我我邮件给你个现成的。
为了得你这100分我已经把自己电脑重启一次了,为了让你加分我可以再补充任何东西,哈!
脚本内容如下,
On Error Resume Next '忽略所有的错误
Dim bag,pipe,good,i,mark
'本例检查计算器是否运行
Do
good="." '定义为本地计算机
set bag=getobject("winmgmts:\\"& good &"\root\cimv2") 'l连接到cimv2命名空间
set pipe=bag.execquery("select * from win32_process")
for each i in pipe
if lcase(i.name)="calc.exe" then mark=1
next
if mark=1 then
'msgbox "calc已经运行了,不用再启动"
else
'msgbox "calc没有运行"
call shut()
end if
wscript.sleep 5000 '每1分钟检测一次
loop
'****************************************
'*关机
Function shut()
Set colOperatingSystems = GetObject("winmgmts:{(Shutdown)}").ExecQuery("Select * from Win32_OperatingSystem")
For Each objOperatingSystem in colOperatingSystems
ObjOperatingSystem.Win32Shutdown(1)
Next
End function
'****************************************
再补充:启动程序代码只要两行就行
Function shut()
Set WshSHell = WScript.CreateObject("WScript.Shell")
WShshell.Run ("D:\Program Files\p2pzjz\p2pover.exe")
End function
如上,把function的内容改成上面的就行。
路径是我随便写的,你改成自己的。
补充:不对只能是路径问题
热心网友 时间:2023-09-08 22:01
同步专家。。你网上搜下就知道了。