![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-06 17:10 |
共 48,039 主题排行 / 350,124 发帖 / 今日 0 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [原创]定时杀进程脚本,网吧工作的朋友可能会用得着 |
| 可打印版本 1,994 / 9 |
| 第1楼 112183883 | 发表于 2007-04-29 20:32 |
| 初级用户 发帖 31 积分 128 | |
|
[原创]定时杀进程脚本,网吧工作的朋友可能会用得着 你的网吧是不是经常有顾客看PP,下迅雷,听酷狗,把一个本来就风雨飘摇的网络搞得更加动荡?也许你试过诸多方法,也许有效,或许效果不太明显,郁闷之际,不妨再看看下面的东东,或许也是一种思路?
部份代码示例,完整文件请参看附件: '********************************************************************************************************** 'Description: 定时查杀自定义进程,建议设为开机启动 'Author: 十一狼 'Email: 112183883@qq.com 'QQ: 112183883 'WebSite: http://www.w3cg.net/ '********************************************************************************************************** Dim scriptPath,lenRootPath,listFilePath Dim sCheck scriptPath=WScript.ScriptFullName lenRootPath=Left(scriptPath,InStrRev(scriptPath,"\")) listFilePath=lenRootPath & "list.txt" '设置进程黑名单文件名称 sCheck=10 '设定间隔多少秒钟扫描一次进程 Do Call CheckList(listFilePath) WScript.Sleep sCheck*1000 Loop Sub CheckList(listFilePath) On Error Resume Next Dim Fso,listFile Dim KeyWord,processKey,pathKey,TipStr Set Fso=CreateObject("Scripting.FileSystemObject") If Fso.FileExists(listFilePath) Then Set listFile=Fso.OpenTextFile(listFilePath,1,0) Do While Not listFile.AtEndOfStream KeyWord=listFile.ReadLine If KeyWord<>"" And Left(KeyWord,1)<>"'" Then KeyWord=Split(KeyWord,"|") If UBound(KeyWord)>1 Then processKey=Trim(KeyWord(0)) pathKey=Trim(KeyWord(1)) Tipstr=Trim(KeyWord(2)) Call ProcessKiller(processKey,TipStr) If pathKey<>"" Then Call ProcessKiller(pathKey,TipStr) End If End If If Err Then Err.Clear Loop Set listFile=Nothing Else WScript.Quit End If Set Fso=Nothing End Sub Sub ProcessKiller(callstr,Tstr) On Error Resume Next Dim WMI,objProcess,Process Dim MsgStr Dim isKilled isKilled=False Set WMI=GetObject("WinMgmts:") Set Process=WMI.InstancesOf("Win32_Process") For Each objProcess In Process If InStr(callstr,".")>0 Then If objProcess.name=callstr Then objProcess.Terminate isKilled=True End If Else If InStr(objProcess.ExecutablePath,callstr)>0 Then objProcess.Terminate isKilled=True End If End If If Err Then Err.Clear Next Set Process=Nothing Set WMI=Nothing MsgStr="对不起,为了营造一个良好的网络环境,本网吧禁止运行以下程序:" & vbCrLf & vbCrLf MsgStr=MsgStr & " - " & Tstr & vbCrLf & vbCrLf & "敬请广大顾客朋友理解并配合,谢谢!" If isKilled=True Then MsgBox MsgStr End Sub 最后说下,这种方法对于一般的网民有效,如果遇到内行的人,估计还是一眼就能看穿我们玩的这个把戏了,不过内行的人又有多少人到网吧闲混呢?呵呵。还有一个进程的黑名单列表,如果文件名改了,请在脚本中重新设置文件名,设置的地方见程序注释。 附件 ProcessKiller.rar (1.68 KiB) |
|
| 第2楼 ieutk | 发表于 2007-04-29 21:11 |
| 初级用户 发帖 48 积分 107 | |
|
好东东,顶一个!
|
|
| 第3楼 xiaogen888 | 发表于 2007-05-02 11:29 |
| 新手上路 发帖 1 积分 2 | |
|
强贴 顶顶顶顶顶
|
|
| 第4楼 huyingbin | 发表于 2007-05-26 17:22 |
| 初级用户 发帖 12 积分 23 | |
|
dddd
|
|
| 第5楼 08765976 | 发表于 2007-07-08 06:31 |
| 初级用户 发帖 11 积分 26 | |
|
還好啦
|
|
| 第6楼 lpf2008007 | 发表于 2007-07-08 14:30 |
| 新手上路 发帖 3 积分 6 | |
|
b不错
|
|
| 第7楼 zhi5252 | 发表于 2007-07-25 21:48 |
| 新手上路 发帖 4 积分 8 | |
|
呵呵不错的喜欢顶个的~
|
|
| 第8楼 wudixin96 | 发表于 2007-07-25 21:59 |
| 银牌会员 发帖 931 积分 1,928 | |
|
用Terminate
来结束进程不是很好,有些是结束不掉的,如打印机的进程等。 |
|
| 第9楼 gmsx007 | 发表于 2007-07-25 22:16 |
| 初级用户 发帖 36 积分 75 | |
|
好东东,是VB的?可惜我还看不懂 好东东,是VB的?可惜我还看不懂,但还是谢了!!
|
|
| 第10楼 hpwsb | 发表于 2007-11-30 22:41 |
| 初级用户 发帖 16 积分 31 | |
|
不错,谢谢了
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |