展开全部
第一张流程图是守护特定其他进程?可行,代码见下文
第二张流程图是守护自身进程?不可行,因为你无法让没运行的脚本运行判断代码,这等同于说“没来的人请举手”。
如果非要守护脚本进程,可以用相互守护。A判断B,B判断A。
代码:
Dim wsh,wmi,fso,path_a,path_b,list,pid
Set wsh = CreateObject("WScript.Shell")
Set wmi = GetObject("winmgmts:" & "{impersonationlevel=impersonate}!\\.\root\cimv2")
Set fso = CreateObject("Scripting.FileSystemObject")
path_a = "x:\x\pid.txt"
path_b = "x:\x\x.xxx"
t = 5000
i = 0
DO Until i = 1
check()
Wscript.Sleep t
Loop
Function check()
Set list = fso.OpenTextFile(path_a, 1, 0)
Do While list.AtEndOfStream <> True
pid = list.ReadLine
If Not isProcessExists(pid) Then wsh.run path_b
Loop
list.Close
End Function
Function isProcessExists(x)
Set find = wmi.ExecQuery("Select * from Win32_Process Where handle='" & x & "'")
isProcessExists = (find.Count <> 0)
End Function
追问
(写了一堆敬语,字符超出限制了... ...)
第二个流程图多了一个将自己的pid写入到x:\x\xx.txt,因为需要另一个相对监视的进程,就是您说的“相互守护”,所以要将自己的pid写入到一个文件
还有就是不知道您知不知道ScriptCryptor这个软件,它在编译的时候可以把vbs转换为不需要wscript.exe的程序,不知道还能不能实现准确将自己的pid写入到一个文件
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询