Board logo

标题: 还是老问题.不过换个想法... [打印本页]

作者: chinmaya     时间: 2008-4-4 17:36    标题: 还是老问题.不过换个想法...

想请这里的各位高手.帮忙写个VBS.
我想就是    系统启动的时候.自动运行一个脚本.监视进程里某个进程.一旦发现关闭,自行启动一次.再发现关闭,就强行关机...
各位.如果不行的话.就    系统启动的时候.自动运行一个脚本.监视进程里某个进程.一旦发现关闭..就强行关机...
原来那个好像给移除了..不知道什么原因.好像说违反了规定.如果是的话.就对不起了..我不知道..
从上篇贴子.好多人说用VBS可以..可是我对VBS很是陌生.一点都不知道.无从下手呀.所以想请高手帮帮忙..先帮我写个出来应应急..
作者: slore     时间: 2008-4-4 18:06
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
作者: slore     时间: 2008-4-4 18:10
缺点:
1.结束wscript就玩完~(这个vbs运行的进程)
2.进程名监视,如果随便搞个exe改成监控的程序名运行
   监控失效……


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