中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 还是老问题.不过换个想法... 上一主题 | 下一主题
chinmaya
新手上路





积分 2
发帖 1
注册 2008-4-2
状态 离线
『楼 主』:  还是老问题.不过换个想法...

想请这里的各位高手.帮忙写个VBS.
我想就是    系统启动的时候.自动运行一个脚本.监视进程里某个进程.一旦发现关闭,自行启动一次.再发现关闭,就强行关机...
各位.如果不行的话.就    系统启动的时候.自动运行一个脚本.监视进程里某个进程.一旦发现关闭..就强行关机...
原来那个好像给移除了..不知道什么原因.好像说违反了规定.如果是的话.就对不起了..我不知道..
从上篇贴子.好多人说用VBS可以..可是我对VBS很是陌生.一点都不知道.无从下手呀.所以想请高手帮帮忙..先帮我写个出来应应急..

2008-4-4 17:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 2 楼』:  

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

2008-4-4 18:06
查看资料  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 3 楼』:  

缺点:
1.结束wscript就玩完~(这个vbs运行的进程)
2.进程名监视,如果随便搞个exe改成监控的程序名运行
   监控失效……


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

2008-4-4 18:10
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: