[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 求大神指导,现需要一个进程保护VBS,已有部分代码,求补全

  1. Option Explicit
  2. Main
  3. Sub Main()
  4.     Dim sExeName, sExePath, sSql
  5.     sExeName = "cmd.exe"    '替换掉需要检测的软件名字
  6.     sExePath = "C:\windows\system32\cmd.exe"    '进程路径
  7.     sSql = "Select * From Win32_Process Where Name='{P1}' And CommandLine Like '%{P2}%'"
  8.     sExePath = Replace(sExePath,"\","\\")
  9.     sSql = Replace(sSql,"{P1}",sExeName)
  10.     sSql = Replace(sSql,"{P2}",sExePath)
  11.     Dim wim, wso, fso, n
  12.     Set wim = GetObject("winmgmts:")
  13.     Set wso = CreateObject("WScript.Shell")
  14.     Set fso = CreateObject("Scripting.filesystemobject")
  15.     Do While n < 2
  16.         If Not fso.FileExists(sExePath) Then Exit Do
  17.         If wim.ExecQuery(sSql).Count = 0 Then
  18.             n = n + 1
  19.             If n = 2 Then
  20.                 wso.Run sDoCmd, 1, True
  21.             End If
  22.             wso.Run """" & sExePath & """", 1, False
  23.             Else
  24.             Exit Do
  25.         End If
  26.         WScript.Sleep 50 * 1000
  27.     Loop
  28. End Sub
复制代码
首先,求解第9行Sql代码中的P1和P2需要替换内容吗?
其次,求解第26行“wso.Run """" & sExePath & """", 1, False”是什么意思?
关于代码的改进需求:
用处:学校机房内,电子教室软件学生端,经常被学生结束进程。
需求:现在需要一个开机自启,自动检测电子教室进程运行状态,如果电子教室进程没有运行,则重启该进程(开机后该进程一直在后台运行),如果该进程第三次被检测到没有运行,则直接重启电脑

返回列表