中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-07 22:37
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 还是老问题.不过换个想法... 查看 727 回复 2
楼 主 还是老问题.不过换个想法... 发表于 2008-04-04 17:36 ·  中国 江西 上饶 广信区 电信
新手上路
积分 2
发帖 1
注册 2008-04-02 18:16
18年会员
UID 114774
性别 男
状态 离线
想请这里的各位高手.帮忙写个VBS.
我想就是 系统启动的时候.自动运行一个脚本.监视进程里某个进程.一旦发现关闭,自行启动一次.再发现关闭,就强行关机...
各位.如果不行的话.就 系统启动的时候.自动运行一个脚本.监视进程里某个进程.一旦发现关闭..就强行关机...
原来那个好像给移除了..不知道什么原因.好像说违反了规定.如果是的话.就对不起了..我不知道..
从上篇贴子.好多人说用VBS可以..可是我对VBS很是陌生.一点都不知道.无从下手呀.所以想请高手帮帮忙..先帮我写个出来应应急..
2 发表于 2008-04-04 18:06 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
Option Explicit

Dim
objWMIService, objProcess, colProcess
Dim strComputer, strProcess,Flag
Dim WshSHell

strComputer = "."
strProcess = "notepad.exe"

Set WshSHell = CreateObject("WScript.Shell")

Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" _
& strComputer & "\root\cimv2")

Flag = 2

Do
Set
colProcess = objWMIService.ExecQuery _
("Select * from Win32_Process Where Name = '" & strProcess & "'")
For Each objProcess In colProcess
Flag = Flag + 1
Exit For
Next
Flag = Flag - 1

If Flag = 1 Then
'重新启动程序
Flag = 0
'WSCript.Echo "所监视程序被结束了一次。"
WshSHell.Run strProcess
ElseIf Flag = - 1 Then
'关机
'WSCript.Echo "所监视程序被结束了两次。"
Exit Do
End If
Loop

Set
WshSHell = Nothing
Set
colProcess = Nothing
Set
objWMIService = Nothing
3 发表于 2008-04-04 18:10 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
缺点:
1.结束wscript就玩完~(这个vbs运行的进程)
2.进程名监视,如果随便搞个exe改成监控的程序名运行
监控失效……


个人觉得还是那个程序应该防止他人非法结束才是正道。
论坛跳转: