Wscript.sleep 1000
Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.Run "罩简伍taskkill /f /im test.exe" ,0
loop
其咐睁中 test.exe是进程名称 1000是延时 等于物或1秒
思路:
1. 用RegWrite将vbs文件名写入开机启动注册表项:
"HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run"
Set WshShell = WScript.CreateObject("WScript.Shell")WshShell.RegWrite "HKCU\Software\Microsoft\Windows\CurrentVersion\Run", "ThunderSpy.vbs", "REG_SZ" 'vbs文件名请自己修改
不过写注册表 *** 作可能会被杀软拦截。
2. 等待10分钟
WScript.Sleep 10*60*10003. 启动迅雷并隐藏
Set oShell = WScript.CreateObject ("WSCript.shell")oShell.run "cmd /c start C:\Program Files\Thunder", 汪冲0 '自己修改迅雷路径
/c 选项表示执行指定的命令后关闭命令提示窗口(黑窗口)。
第二个参数0表示隐藏应用。
4. 关闭迅雷(杀进程)
两种方法。
DOS命令TASKKILL方法:
Set wshShell = WScript.CreateObject("WScript.Shell")wshShell.run "TASKKILL /IM Thunder.exe", 0 '自己确认迅雷的进程名
WMI方法档老:
strComputer="."Set objWMIService = GetObject("winmgmts:\\"困蠢歼 & strComputer & "\root\cimv2")
Set colProcessList=objWMIService.ExecQuery ("select * from Win32_Process where Name='Thunder.exe'") '自己确认迅雷的进程名
For Each objProcess in colProcessList
objProcess.Terminate()
Next
‘//RLOn Error Resume Next
Const vbOK = 1
Const vbCancel = 2
Dim ML '//Minutes left
Dim ANS
Dim Wsh:Set Wsh = WScript.CreateObject("WScript.Shell")
Do
ML = GetML()
If ML = 0 Then WScript.Quit(0) '//退出
If ML = (-1) Then Call MsgBox("对不起,输入有误。" &vbCrLf &_
"请输入十进制正整数。",vbExclamation,"输入有肢正误")
Until ML >0
Dim I
For I = 1 To ML '//Start from 1
WScript.Sleep(60 * 1000) '//1分钟
Next I
ANS = MsgBox("你的计时已到,请保存文件,并按确定关机。", _
vbOKCancel + vbInformation , "提示")
'//按照lz的意思,我个人觉得这里有bug(即使用户不知道强制终止进程)
'//只要不理睬这个对话框就不会关机。可以修改成Wsh.Popup()啊
If ANS = vbOK Then
Call Wsh.Run("SHUTDOWN -S -F -T 0",0) '//Run hide,我没有要5秒,
Else '//想要就改历胡悔成"SHUTDOWN -S -F -T 5"
Call Force()
End If
'////////////////////////////////////////////////////////////////////////
Sub Force()
Wsh.Popup("3分钟后即将关机。请立刻保存工作!", _
5 , "警告" , vbExclamation + vbSystemModal)
WScript.Sleep(60 * 1000 * 3) '//3分钟
Call Wsh.Run("SHUTDOWN -S -F -T 0",0)
End Sub
'///////做乎/////////////////////////////////////////////////////////////////
Function GetML()
On Error Resume Next
ANS = Trim(InputBox("你要在多少分钟之后提示关机?" &vbCrLf &_
"输入0或者输入空退出.","定时关机",))
Dim L : L = Len(ANS)
If L = 0 Then
GetML = 0 '//输入空
Exit Function
End If
Dim Rtn : Rtn = True
Dim I
For I = 1 To L
Rtn = Rtn And IsDigit(Mid(ANS,I,1))
Next I
If Not Rtn Then
GetML = (-1) '//输入不合法
Exit Function
End If
GetML = CInt(ANS)
End Sub
Function IsDigit( Src )
If Src = "0" Or Src = "1" Or Src = "2" Or Src = "3" Or Src = "4" _
Or Src = "5" Or Src = "6" Or Src = "7" Or Src = "8" Or Src = "9" Then
IsDigit = True
Else
IsDigit = False
End If
End Function
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)