vbs脚本指定时间禁止运行指定程序
2015-04-06 16:58
387 查看
通过开机启动vbs脚本的办法,来检测系统运行的程序,并停止自己想要停止的程序,
首先要到要知道这个程序在任务管理器的名字,然后定义变量并赋值禁止程序的名字,以禁止英雄联盟为例,
一.紫色字体的脚本全部复制放到一个.vbs结尾的文件里,第一句是定义变量的地方,下边有调用禁止这个程序的使用说明
二.然后dos命令regedit进入注册表
三.找到这里:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
四.然后新建字符串值,名称随便,数据值是这个.vbs文件的路径
'如果设置的endTime小于startTime,这个脚本就无效了
'脚本修改后,重启才会生效
Dim startTime,endTime,sleepTime,systemTime,limitPrograms
limitPrograms = array("Client.exe","LolClient.exe","League of Legends.exe") '限制多少个程序,添加多少个
startTime="0:00:00" '什么时间开始限制程序
endTime="24:00:00" '什么时间结束限制程序
sleepTime = 1000*60 '睡眠时间单位是ms(毫秒),如果设置十分钟:1000*60*10
do while(true)
systemTime=Hour(Now)&":"&Minute(Now)&":"&Second(Now)
If compareTime(systemTime,startTime) And compareTime(endTime,systemTime) Then
set wim= getobject("winmgmts:\\./root/cimv2")
For Each program In limitPrograms
limitLOL wim,program
next
End If
wscript.sleep sleepTime
Loop
WScript.quit
Function compareTime(first,second)
compareTime = compareTimeByPosition(first,second,0)
End Function
Function compareTimeByPosition(first,second,posi)
Dim firstTime,secondTime
firstTime =Split(first,":")
secondTime =Split(second,":")
Select Case True
Case firstTime(posi)/1>secondTime(posi)/1
compareTimeByPosition = True
Case firstTime(posi)/1=secondTime(posi)/1
compareTimeByPosition= compareTimeByPosition(first,second,posi+1)
Case firstTime(posi)/1<secondTime(posi)/1
compareTimeByPosition = False
Case Else
compareTimeByPosition = False
End Select
End Function
Sub limitLOL(cusWim,name)
set limitResult = cusWim.execquery("select * from Win32_Process where name='" & name & "'")
killLOL(limitResult)
End Sub
Function killLOL(cusResult)
If cusResult.count > 0 Then
For Each lol In cusResult
lol.Terminate()
next
End If
End Function
'把这所有代码存为一个 .vbs的文件(没用的说明我都注释了).放到任意位置 eg:D:\program files\moline\limitLOL.vbs
'DOS命令输入:regedit,进入注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
'右键新建一个字符串值,名称随便,数据值指向这个文件的路径. eg: 名称:limitLOL,数据:D:\program files\moline\limitLOL.vbs
首先要到要知道这个程序在任务管理器的名字,然后定义变量并赋值禁止程序的名字,以禁止英雄联盟为例,
一.紫色字体的脚本全部复制放到一个.vbs结尾的文件里,第一句是定义变量的地方,下边有调用禁止这个程序的使用说明
二.然后dos命令regedit进入注册表
三.找到这里:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
四.然后新建字符串值,名称随便,数据值是这个.vbs文件的路径
'如果设置的endTime小于startTime,这个脚本就无效了
'脚本修改后,重启才会生效
Dim startTime,endTime,sleepTime,systemTime,limitPrograms
limitPrograms = array("Client.exe","LolClient.exe","League of Legends.exe") '限制多少个程序,添加多少个
startTime="0:00:00" '什么时间开始限制程序
endTime="24:00:00" '什么时间结束限制程序
sleepTime = 1000*60 '睡眠时间单位是ms(毫秒),如果设置十分钟:1000*60*10
do while(true)
systemTime=Hour(Now)&":"&Minute(Now)&":"&Second(Now)
If compareTime(systemTime,startTime) And compareTime(endTime,systemTime) Then
set wim= getobject("winmgmts:\\./root/cimv2")
For Each program In limitPrograms
limitLOL wim,program
next
End If
wscript.sleep sleepTime
Loop
WScript.quit
Function compareTime(first,second)
compareTime = compareTimeByPosition(first,second,0)
End Function
Function compareTimeByPosition(first,second,posi)
Dim firstTime,secondTime
firstTime =Split(first,":")
secondTime =Split(second,":")
Select Case True
Case firstTime(posi)/1>secondTime(posi)/1
compareTimeByPosition = True
Case firstTime(posi)/1=secondTime(posi)/1
compareTimeByPosition= compareTimeByPosition(first,second,posi+1)
Case firstTime(posi)/1<secondTime(posi)/1
compareTimeByPosition = False
Case Else
compareTimeByPosition = False
End Select
End Function
Sub limitLOL(cusWim,name)
set limitResult = cusWim.execquery("select * from Win32_Process where name='" & name & "'")
killLOL(limitResult)
End Sub
Function killLOL(cusResult)
If cusResult.count > 0 Then
For Each lol In cusResult
lol.Terminate()
next
End If
End Function
'把这所有代码存为一个 .vbs的文件(没用的说明我都注释了).放到任意位置 eg:D:\program files\moline\limitLOL.vbs
'DOS命令输入:regedit,进入注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
'右键新建一个字符串值,名称随便,数据值指向这个文件的路径. eg: 名称:limitLOL,数据:D:\program files\moline\limitLOL.vbs
相关文章推荐
- at 命令来安排命令、脚本或程序在指定的日期和时间运行。您也可以使用此命令查看现有的计划任务。
- bat脚本命令循环运行程序 ,然后指定时间退出。
- at计划在指定时间和日期在计算机上运行命令和程序
- Active Server Pages, ASP 0113 (0x80004005)超过了脚本运行的最长时间。可以为 Server.ScriptTimeOut 属性指定新值或更改 IIS 管理工具中的相应值来更改此限制
- linux下在root用户登陆状态下,以指定用户运行脚本程序实现方式
- 自定义vbs脚本实现开机后延时启动指定程序的方法
- ◎Vbs脚本编程简明教程之四—如何利用Vbs运行外部程序?
- shell脚本中用指定用户运行程序
- 【java在指定时间运行程序】
- 用注册表禁止运行指定的程序
- WINDOWS登录系统之前(欢迎界面)运行指定程序脚本服务
- VBS 脚本不能运行 提示Windows无法访问指定设备路径或文件
- 禁止一个指定的程序运行
- Unix整理笔记——在指定时间运行程序——里程碑M12
- 在指定时间运行程序
- 在lr中设置运行脚本的指定时间
- Nginx/Apache下如何禁止指定目录运行PHP脚本
- Unix整理笔记——在指定时间运行程序——里程碑M12
- Nginx技巧——Nginx/Apache下禁止指定目录运行PHP脚本(转自运维之美)