通過開機啓動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