中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
作者:
标题: 系统关机管理→VBS版 上一主题 | 下一主题
baomaboy
银牌会员





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『楼 主』:  系统关机管理→VBS版 使用 LLM 解释/回答一下

其实这个东西是中了一次病毒后才想到要做的,那病毒一直出现60秒倒计时关机,让你连查找分析它得机会也没有,为了省去键盘输入的过程,做成了热键,也方便了不知道命令行用法的人快速取消倒计时关机。
出现倒计时关机窗口时按:Ctrl+Alt+↑立即取消倒计时关机。

其他使用方法不做说明了,看图吧。

Last edited by baomaboy on 2007-3-17 at 01:22 PM ]


附件 1: Manage_WinPower.rar (2007-3-17 05:01, 31.43 KiB,下载次数: 105)
附件 2: 1.GIF (2007-3-17 05:01, 40 KiB,下载次数: 13)


附件 3: 3.GIF (2007-3-17 05:03, 10.97 KiB,下载次数: 2)


2007-3-17 05:01
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
heicai
中级用户





积分 385
发帖 156
注册 2007-1-19
状态 离线
『第 2 楼』:   使用 LLM 解释/回答一下

能帖下源码给学习吗??


2007-3-17 05:15
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
ieutk
初级用户




积分 107
发帖 48
注册 2006-11-30
状态 离线
『第 3 楼』:   使用 LLM 解释/回答一下

Originally posted by heicai at 2007-3-16 04:15 PM:
能帖下源码给学习吗??





楼主有发附件!


2007-3-17 05:21
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
heicai
中级用户





积分 385
发帖 156
注册 2007-1-19
状态 离线
『第 4 楼』:   使用 LLM 解释/回答一下

Originally posted by ieutk at 2007-3-16 04:21 PM:





楼主有发附件!
里面好多类似乱码


2007-3-17 05:24
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
baomaboy
银牌会员





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『第 5 楼』:   使用 LLM 解释/回答一下


Dim WshShell,FSO
On Error Resume Next
Set WshShell = WScript.CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WinVer = WshShell.Environment("Process")
Set Args = WScript.Arguments
CloseTime = 5
FileName = WScript.ScriptName
FileFullName = WScript.ScriptFullName
FilePath = FSO.GetParentFolderName(FileFullName)
InsPath = FSO.GetSpecialFolder(1)
InsFullName = FSO.BuildPath(InsPath ,FileName)
LnkPathNT = WshShell.SpecialFolders(2)
LnkPath9X = WshShell.SpecialFolders(14)
LnkPathAll = WshShell.SpecialFolders("StartMenu")
OtherFileName="shutdown.exe"
OtherFilePath=FSO.GetSpecialFolder(1)
TemFileName="无标题"
TemFilePath=FSO.GetSpecialFolder(2)
Copyright="玲珑科技"
QQ="QQ:25926183"
Email="Email:fty1995@163.com"
InsTitle="WinNT关机管理程序"
InsAnswer="WinNT关机管理程序"
RegPath1="HKLM\SOFTWARE\LLKJ\SYSSoft\Manage_WinPower\"
RegValue1="关机管理"
RegForm1="REG_SZ"
RegPath2="HKLM\SOFTWARE\LLKJ\SYSSoft\Manage_WinPower\DelAllAtShutDown"
RegValue2="No"
RegValue3="Yes"
RegValue4="All"
RegForm2="REG_SZ"
If WinVer("OS") = "Windows_NT" Then
LnkPath=LnkPathNT
MyShortcutFolder="快捷功能"
MyShortcutName="关机管理(CTRL+ALT+↑).Lnk"
MyShortcutHotKey="CTRL+ALT+Up"
MyShortcutHotKeybak="CTRL+ALT+↑"
IF FileFullName <> InsFullName then
intAnswer = MsgBox("【是】将“"+ InsAnswer +"”加入到快捷键" +chr(34)+ MyShortcutHotKeybak +chr(34)+ ","&Chr(10)&Chr(10)&"【否】将“"+ InsAnswer +"”取消系统热键" +chr(34)+ MyShortcutHotKeybak +chr(34)+ "。 ", vbQuestion + vbYesNoCancel, "安装 - "+ InsTitle +" - "+ Copyright)
If intAnswer = vbYes Then
FSO.GetFile(FileFullName).Copy(InsFullName)
If (FSO.FileExists(FSO.BuildPath(OtherFilePath,OtherFileName))) Then
else
If (FSO.FileExists(FSO.BuildPath(FilePath,"shutdown.llkj"))) Then
FSO.GetFile(FSO.BuildPath(FilePath,"shutdown.llkj")).Copy(FSO.BuildPath(OtherFilePath,OtherFileName))
else
Call alltovbs
end if
end if
If (FSO.FolderExists(FSO.BuildPath(LnkPath ,"\附件\" & MyShortcutFolder))) Then
else
FSO.CreateFolder(FSO.BuildPath(LnkPath ,"\附件\" & MyShortcutFolder))
end if
Set MyShortcut = WshShell.CreateShortcut(FSO.BuildPath(LnkPath ,"附件\" & MyShortcutFolder & "\" & MyShortcutName))
MyShortcut.TargetPath = (InsFullName)
MyShortcut.WorkingDirectory = (InsPath)
MyShortcut.Windowstyle = 4
MyShortcut.IconLocation = (FSO.BuildPath(LnkPath ,"Shell32.dll, 27"))
MyShortcut.Description = "定时关机、倒计时关机、立即关机、取消定时及倒计时关机"
MyShortcut.Hotkey = MyShortcutHotKey
MyShortcut.Save
WshSHell.RegWrite RegPath1,RegValue1,RegForm1
WshSHell.RegWrite RegPath2,RegValue2,RegForm2
WshShell.popup _
"添加脚本文件:"+chr(10)+InsFullName+chr(10)+chr(10)+ _
"添加快捷方式:"+chr(10)+ FSO.BuildPath(LnkPath ,"附件\" & MyShortcutFolder & "\" & MyShortcutName) +chr(10)+chr(10)+ _
"添加系统热键:" +chr(10)+chr(34) & MyShortcutHotKeybak +chr(34)+chr(10)+chr(10)+ _
"此程序可用于:"+chr(10)+"1.定时关闭装有 ShutDown 的 Windows 系统。"+chr(10)+ _
"2.倒计时关闭装 ShutDown 的 Windows 系统。"+chr(10)+ "3.立即关闭装有 ShutDown 的 Windows 系统。"+chr(10)+ _
"4.取消误操作 ShutDown 造成系统定时关机。"+chr(10)+ _
"5.取消误操作 ShutDown 造成的倒计时关机。"+chr(10)+"6.取消病毒破坏进程 SVCHOST 造成的倒计时关机。"+ chr(10) &chr(10) & _
chr(10) & CloseTime & " 秒钟后本窗口将自动关闭!" +chr(10)+chr(10)+ _
chr(10) & "Copyright(C) " + Copyright +" " & QQ &" " + Email _
, CloseTime, "安装成功 - "+ InsTitle +" - "+ Copyright, 0 + 64
end if
If intAnswer = vbNo Then
FSO.DeleteFile InsFullName
FSO.DeleteFile FSO.BuildPath(LnkPath ,"附件\" & MyShortcutFolder & "\" & MyShortcutName)
WshSHell.RegDelete RegPath2
WshSHell.RegDelete RegPath1
WshShell.popup _
"删除脚本文件:"+chr(10)+InsFullName+chr(10)+chr(10)+ _
"删除快捷方式:"+chr(10)+ FSO.BuildPath(LnkPath ,"附件\" & MyShortcutFolder & "\" & MyShortcutName) +chr(10)+chr(10)+ _
"取消系统热键:" +chr(10)+chr(34) & MyShortcutHotKeybak +chr(34)+chr(10)+chr(10)+ _
"此程序可用于:"+chr(10)+"1.定时关闭装有 ShutDown 的 Windows 系统。"+chr(10)+ _
"2.倒计时关闭装 ShutDown 的 Windows 系统。"+chr(10)+ "3.立即关闭装有 ShutDown 的 Windows 系统。"+chr(10)+ _
"4.取消误操作 ShutDown 造成系统定时关机。"+chr(10)+ _
"5.取消误操作 ShutDown 造成的倒计时关机。"+chr(10)+"6.取消病毒破坏进程 SVCHOST 造成的倒计时关机。"+ chr(10) &chr(10) & _
chr(10) & CloseTime & " 秒钟后本窗口将自动关闭!" +chr(10)+chr(10)+ _
chr(10) & "Copyright(C) " + Copyright +" " & QQ &" " + Email _
, CloseTime, "卸载成功 - "+ InsTitle +" - "+ Copyright, 0 + 64
end if
If intAnswer = vbCancel Then
end if
ELSE
If WshSHell.AppActivate("系统关机") = True Then
'WshSHell.SendKeys "{WIN}+{M}"
WshSHell.Run ("ShutDown -A"), vbHide
WScript.Sleep 1000
WshSHell.Run ("ShutDown -A"), vbHide
WshShell.popup chr(10) &_
"您已经成功的取消了倒计时关机。"+ chr(10) &chr(10) & _
chr(10) & CloseTime & " 秒钟后本窗口将自动关闭!" +chr(10)+chr(10)+ _
chr(10) & "Copyright(C) " + Copyright +" " & QQ &" " + Email _
, CloseTime, "取消倒计时关机 - "+ InsTitle +" - "+ Copyright, 0 + 64
else

Dim MyTime,MyOut1,MyOut2
MyTime=null
MyTime=InputBox("1.请输入定时时间:(格式20:10)"&vblf&vblf&"2.倒计时关机时间:(单位/分钟)"&vblf&vblf&"3.输入‘xxx’可以立即关机。"&vblf&vblf&"4.输入‘yyy’取消定时关机。",InsTitle&"- "&Copyright,"1")
If IsNumeric(MyTime)=False Then
If IsDate(MyTime)=True Then
WshShell.Run ("at "&MyTime&" ShutDown -s"), vbHide
WshShell.popup chr(10) &_
"定时成功!电脑将在‘ "&MyTime&" ’关机!"+ chr(10) &chr(10) & _
"取消关机请按快捷键: "&chr(34)+ MyShortcutHotKeybak +chr(34)+chr(10) &_
chr(10) &CloseTime & " 秒钟后本窗口将自动关闭!" +chr(10)+chr(10)+ _
chr(10) & "Copyright(C) " + Copyright +" " & QQ &" " + Email _
, CloseTime, "定时成功 - "+ InsTitle +" - "+ Copyright, 0 + 64
Else
If LCase(MyTime)="xxx" Then
WshShell.Run ("ShutDown -s -t 0"), vbHide
WScript.Quit(0)
End If
If LCase(MyTime)="yyy" Then
strComputer = "."
ZNum=0
DNum=0
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colScheduledJobs = objWMIService.ExecQuery ("Select * from Win32_ScheduledJob")
If colScheduledJobs.count=0 Then
WshShell.popup chr(10) &_
"目前系统还没有定时关机任务计划!"+ chr(10) &chr(10) & _
chr(10) & CloseTime & " 秒钟后本窗口将自动关闭!" +chr(10)+chr(10)+ _
chr(10) & "Copyright(C) " + Copyright +" " & QQ &" " + Email _
, CloseTime, "错误提示 - "+ InsTitle +" - "+ Copyright, 0 + 48
End If
For Each objJob in colScheduledJobs
RWID=objJob.JobID
RWCmd=objJob.Command
RWTime=objJob.StartTime
RWCmd_SD = Left(RWCmd, 8)
RWTime_Q=Right(RWTime, 3)
RWTime_H=Mid(RWTime,9,2)
RWTime_M=Mid(RWTime,11,2)
RWTime_Q2=Mid(RWTime,22,1)
if RWTime_Q/60<10 then
tempdat="0"
else
tempdat=""
end if
if RWTime_Q2="+" then
RWTime_SQ2 = "东 "&tempdat&RWTime_Q/60&" 区"
Elseif RWTime_Q2="-" then
RWTime_SQ2 = "西 "&tempdat&RWTime_Q/60&" 区"
Else
RWTime_SQ2 = "第‘0’区"
End If
if RWTime_Q="480" Then
RWTime_SQ="北京时间"
Elseif RWTime_Q="000" Then
RWTime_SQ="国际时间"
Else
RWTime_SQ="这是哪啊"
End If
if UCase(RWCmd_SD)<>"SHUTDOWN" Then
WshShell.popup chr(10) &_
"目前系统没有‘定时关机’的任务计划!"+ chr(10) &chr(10) & _
chr(10) & CloseTime & " 秒钟后本窗口将自动关闭!" +chr(10)+chr(10)+ _
chr(10) & "Copyright(C) " + Copyright +" " & QQ &" " + Email _
, CloseTime, "错误提示 - "+ InsTitle +" - "+ Copyright, 0 + 48
Else
ZNum=ZNum+1
if WshSHell.RegRead(RegPath2) = RegValue4 Then
Set objInstance = objWMIService.Get("Win32_ScheduledJob.JobID="&RWID)
err = objInstance.Delete
Else
CloseWinTime=InputBox("任务编号:{ "&RWID&" }"&" "&"{ "&RWTime_SQ2&" }"&vblf&vblf&"关机时间:{ "&RWTime_H&"点"&RWTime_M&"分"&" }"&"{ "&RWTime_SQ&" }"&vblf&vblf&"如果输入:{yyy} 则取消所有定时关机。","取消定时关机 - 第 "&ZNum&" 个关机任务。","取消单个定时关机任务请直接点‘确定’")
If LCase(CloseWinTime)="yyy" Then
WshSHell.RegWrite RegPath2,RegValue4,RegForm2
Set objInstance = objWMIService.Get("Win32_ScheduledJob.JobID="&RWID)
err = objInstance.Delete

Elseif CloseWinTime<>"" Then
WshSHell.RegWrite RegPath2,RegValue3,RegForm2
DNum=DNum+1
Set objInstance = objWMIService.Get("Win32_ScheduledJob.JobID="&RWID)
err = objInstance.Delete
end if
end if
end if
Next
else
WshShell.popup chr(10) &_
"您的输入有错误!请重新输入!"+ chr(10) &chr(10) & _
chr(10) & CloseTime & " 秒钟后本窗口将自动关闭!" +chr(10)+chr(10)+ _
chr(10) & "Copyright(C) " + Copyright +" " & QQ &" " + Email _
, CloseTime, "错误提示 - "+ InsTitle +" - "+ Copyright, 0 + 48
end if
End If
Else
If MyTime<=600 and MyTime>0 Then
WshShell.popup chr(10) &_
"设置成功!电脑将在‘ "&MyTime&" ’分钟后关机!"+ chr(10) &chr(10) & _
"取消倒计时关机请按快捷键: "&chr(34)+ MyShortcutHotKeybak +chr(34)+chr(10) &_
chr(10) &CloseTime & " 秒钟后本窗口关闭时开始倒计时!" +chr(10)+chr(10)+ _
chr(10) & "Copyright(C) " + Copyright +" " & QQ &" " + Email _
, CloseTime, "设置成功 - "+ InsTitle +" - "+ Copyright, 0 + 64
WshShell.Run ("ShutDown -s -t "&MyTime*60), vbHide
Elseif MyTime<>"" then
WshShell.popup _
chr(10)+"输入错误!倒计时时间不能为 0 分钟或多于 600 分钟(10小时)!"+chr(10)+ _
chr(10)+chr(10) & CloseTime & " 秒后本窗口自动关闭!" +chr(10)+chr(10)+ _
chr(10) & "Copyright(C) " + Copyright +" " & QQ &" " + Email _
, CloseTime, "错误提示 - "+ InsTitle +" - "+ Copyright, 0 + 48
End If
End If
END IF
if WshSHell.RegRead(RegPath2) = RegValue4 Then
WshSHell.RegWrite RegPath2,RegValue2,RegForm2
WshShell.popup chr(10) & _
"您已经成功的取消了全部‘ " & ZNum & " ’个计划任务定时关机。" + chr(10) & chr(10) & _
chr(10) & CloseTime & " 秒钟后本窗口将自动关闭!" +chr(10)+chr(10)+ _
chr(10) & "Copyright(C) " + Copyright +" " & QQ &" " + Email _
, CloseTime, "取消定时关机 - "+ InsTitle +" - "+ Copyright, 0 + 64
elseif WshSHell.RegRead(RegPath2) = RegValue3 Then
WshSHell.RegWrite RegPath2,RegValue2,RegForm2
WshShell.popup chr(10) &_
"您取消了‘ "& DNum &" ’个定时关机,还有‘ "& ZNum-DNum &" ’个任务没取消。"+ chr(10) &chr(10) & _
chr(10) & CloseTime & " 秒钟后本窗口将自动关闭!" +chr(10)+chr(10)+ _
chr(10) & "Copyright(C) " + Copyright +" " & QQ &" " + Email _
, CloseTime, "取消定时关机 - "+ InsTitle +" - "+ Copyright, 0 + 64
end if
END IF
Else
WshShell.popup _
"程序要求运行于 " + chr(34)+WinVer("OS")+chr(34)+" 环境,安装失败。"+chr(10)+chr(10)+ _
"此程序可用于:"+chr(10)+"1.定时关闭装有 ShutDown 的 Windows 系统。"+chr(10)+ _
"2.倒计时关闭装 ShutDown 的 Windows 系统。"+chr(10)+ "3.立即关闭装有 ShutDown 的 Windows 系统。"+chr(10)+ _
"4.取消误操作 ShutDown 造成系统定时关机。"+chr(10)+ _
"5.取消误操作 ShutDown 造成的倒计时关机。"+chr(10)+"6.取消病毒破坏进程 SVCHOST 造成的倒计时关机。"+ chr(10) &chr(10) & _
chr(10) & CloseTime & " 秒钟后本窗口将自动关闭!" +chr(10)+chr(10)+ _
chr(10) & "Copyright(C) " + Copyright +" " & QQ &" " + Email _
, CloseTime, "安装失败 - "+ InsTitle +" - "+ Copyright, 0 + 48
End If
Set WshShell = Nothing
Set FSO = Nothing
Set Args = Nothing
WScript.Quit(0)
sub alltovbs()
'' 自生成shutdown.exe
end sub

ÿ

Last edited by baomaboy on 2008-3-24 at 10:05 PM ]




好多菩提树,好多明镜台。本来好多物,好多的尘埃。
2007-4-13 14:12
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
okmhy
新手上路





积分 15
发帖 7
注册 2006-6-23
状态 离线
『第 6 楼』:  晕倒~! 使用 LLM 解释/回答一下

是不是我真的太垃圾了,那么多的代码,能看懂的不到千之一..


2007-6-13 19:06
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
Vampire
初级用户





积分 176
发帖 78
注册 2007-4-15
状态 离线
『第 7 楼』:   使用 LLM 解释/回答一下

向楼主致敬!!
辛苦做东西出来,还把源码拿出来供大家学习。
榜样!
PS:顺便说几句,以前那**科技的作品都是你发的哈,能不能也把源码拿出来学习学习嘛。。


2007-6-13 19:13
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 8 楼』:   使用 LLM 解释/回答一下

shutdown -a就取消了啊


2007-6-13 19:35
查看资料  发短消息  网志   编辑帖子  回复  引用回复
baomaboy
银牌会员





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『第 9 楼』:   使用 LLM 解释/回答一下

是的 如果你只是想 定时关机 at Time ShutDown -s 就行了啊

如果你想 做个快捷键,创建个快捷方式,在右键属性里自己设就好了,

如果你不学无术只是贪玩的话可以考虑看看^_^




好多菩提树,好多明镜台。本来好多物,好多的尘埃。
2007-6-13 23:12
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
baomaboy
银牌会员





积分 1513
发帖 554
注册 2005-12-30
状态 离线
『第 10 楼』:   使用 LLM 解释/回答一下

Originally posted by Vampire at 2007-6-13 19:13:
向楼主致敬!!
辛苦做东西出来,还把源码拿出来供大家学习。
榜样!
PS:顺便说几句,以前那**科技的作品都是你发的哈,能不能也把源码拿出来学习学习嘛。。


没什么可看的,一堆垃圾而已。。。




好多菩提树,好多明镜台。本来好多物,好多的尘埃。
2007-6-13 23:13
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
eech
高级用户




积分 906
发帖 346
注册 2006-7-10
状态 离线
『第 11 楼』:   使用 LLM 解释/回答一下

baomaboy又出新作品了,支持下


2007-6-13 23:50
查看资料  发短消息  网志   编辑帖子  回复  引用回复
chdpc
新手上路





积分 2
发帖 1
注册 2006-6-8
状态 离线
『第 12 楼』:   使用 LLM 解释/回答一下

vbs代码编辑器及学习资料推荐


2007-6-15 01:49
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
sfencer
新手上路





积分 16
发帖 8
注册 2007-6-4
状态 离线
『第 13 楼』:   使用 LLM 解释/回答一下

看不明白,好好学习一下


2007-6-16 15:06
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
zhoushijay
高级用户

Autowalk


积分 845
发帖 375
注册 2007-3-3
状态 离线
『第 14 楼』:   使用 LLM 解释/回答一下

几天不来baoma兄又出新大作了,小弟最近在研究C,呵呵,所以很少来这里逛了,每次上来都能看到baomaboy的新作




你好,脚本专家!
<a target=blank href=tencent://message/?uin=29654761&Site=www.111.com&Menu=yes><img border="0" SRC=http://wpa.qq.com/pa?p=1:29654761:5 alt="点击这里给我发消息"></a>
2007-6-16 15:20
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
wert123
中级用户





积分 301
发帖 135
注册 2007-5-15
状态 离线
『第 15 楼』:   使用 LLM 解释/回答一下

编程之路,越来越长,弥长弥精,弥精弥长,
由于我还是菜鸟,所以现在完全看懂是不行的,完全看懂了是要得几天的,写出来了豆腐也就能砸死人的
还有什么话要说,还有多少泪要流,我对baomaboy已死心塌地的五体投地了啊~~~!


2007-6-16 16:38
查看资料  发短消息  网志   编辑帖子  回复  引用回复

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


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



论坛跳转: