[VBS]关机恶作剧

一、关于脚本

1)本文中的脚本完成以下功能:

随机生成3道二位数加法题,如果答题错误则在60秒后关机。

如果全答对了,也会在60后关机,但脚本会提示解除定时关机的办法

2)在脚本运行过程中,退出本脚本的方法为:

在任务管理器中找到wscript.exe,选择结束进程即可(如下图)

3)如果已经进入了关机倒计时读秒阶段,打开命令提示符输入下面命令即可结束倒计时:

1 shutdown -a

二、VBS脚本

 1 ‘Version: 1.0.20140819.1
 2
 3 On Error Resume Next ‘出现错误时跳开语句
 4
 5 ‘申明程序意图
 6 Dim Tip
 7 Tip = "小伙你现在已经落入我的圈套了!" & Chr(13)
 8 Tip = Tip & "这样吧,我给你出三道数学题,你做出来我就放了你" & Chr(13)
 9 Tip = Tip & "你看怎么样?"
10
11 ‘必须选是
12 Dim Choice
13 While Choice <> VbYes
14     Choice = MsgBox(Tip, VbYesNo)
15     If Choice = VbNo Then
16         MsgBox "小伙你挣扎的样子颇有几分我年轻时的神韵"
17     End If
18 Wend
19
20 ‘声明变量
21 Dim a        ‘加数
22 Dim b        ‘加数
23 Dim Equation ‘生成的算式
24 Dim Result   ‘输入的和
25
26 ‘生成伪随机数
27 Randomize()
28
29 ‘第一题
30 a = int(50 + 50 * Rnd())          ‘生成随机数a
31 b = int(50 + 50 * Rnd())          ‘生成随机数b
32 Equation = a & " + " & b & " = ?" ‘生成算式
33 Result = InputBox(Equation)       ‘询问问题
34 If Result <> cstr(a + b) Then     ‘判断是否回答正确
35     MsgBox "这么简单的数学题你也不会算吗!"
36     ShutDown     ‘关机
37     WScript.Quit ‘退出脚本
38 End If
39
40 ‘第二题
41 a = int(50 + 50 * Rnd())
42 b = int(50 + 50 * Rnd())
43 Equation = a & " + " & b & " = ?"
44 Result = InputBox(Equation)
45 If Result <> cstr(a + b) Then
46     MsgBox "这么简单的数学题你也不会算吗!"
47     ShutDown
48     WScript.Quit
49 End If
50
51 ‘第三题
52 a = int(50 + 50 * Rnd())
53 b = int(50 + 50 * Rnd())
54 Equation = a & " + " & b & " = ?"
55 Result = InputBox(Equation)
56 If Result <> cstr(a + b) Then
57     MsgBox "这么简单的数学题你也不会算吗!"
58     ShutDown
59     WScript.Quit
60 End If
61
62 ‘宿命:虽然也会试图关闭计算机,但还是网开一面
63 Dim Destiny
64 Destiny = "小伙子挺屌啊,算我服了你了,我给你指条明路吧" & Chr(13)
65 Destiny = Destiny & "一会儿你打开命令行,输入 shutdown -a 就没事了"
66 MsgBox Destiny
67 ShutDown
68
69 ‘例程:60秒后关闭计算机
70 Sub ShutDown
71     Set ws = WScript.createobject("wscript.shell")
72     ws.Run "shutdown -s -t 60", 0
73 End Sub
时间: 2024-11-10 01:27:11

[VBS]关机恶作剧的相关文章

Vbs实现断网就关机的代码

受一个朋友委托,编写一段vbs代码实现断网就强行关闭计算机的功能,他说为学生机房上课时使用,上课时总有学生想脱离老师的监视,为此,会拔掉网线或者禁用网卡,所以,弄个vbs脚本检测网卡状态,如果断网马上强行关机. ============================方法一============================== Dim objWMIService,objShell Set objWMIService = Getobject("winmgmts:\\.\root\cimv2&

vbs查看系统开关机时间

如何获取XP系统的开机时间? 下面给出两种代码,保存到扩展名为vbs的文件中.具体哪个请根据自己需求决定. 一:根据系统日志,查看开机时间和关机时间,---- 使用弹出对话框的形式 Set WMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2") Set colLoggedEvents = WMI.ExecQuery("Select * from Win32_NTLogEvent W

长时间关机测试脚本.VBS

Sub Main Dim cnt Dim delay Dim time Dim atttime atttime = 20 delay = 3000 time = 50 cnt_time=3 crt.screen.Send " " & chr(13) crt.screen.WaitForString"Username:" crt.screen.Send "admin" & chr(13) crt.screen.WaitForStri

Vbs 脚本编程简明教程之一

-为什么要使用 Vbs ? 在 Windows 中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制.粘贴.改名.删除,也许你每天启动 计算机第一件事情就是打开 WORD ,切换到你喜爱的输入法进行文本编辑,同时还要播放优美的音乐给工作创造一个舒心的环境,当然也有可能你经常需要对文本中的某 些数据进行整理,把各式各样的数据按照某种规则排列起来--.这些事情重复.琐碎,使人容易疲劳. 第三方软件也许可以强化计算机的某些功能,但是解决这些重复劳动往

Vbs脚本经典教材

转载:http://www.cnblogs.com/BeyondTechnology/archive/2011/01/10/1932440.html Vbs脚本经典教材(最全的资料还是MSDN) -为什么要使用Vbs? 在Windows中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制.粘贴.改名.删除,也许你每天启动计算机第一件事情就是打开WORD,切换到你喜爱的输入法进行文本编辑,同时还要播放优美的音乐给工作创造一个舒心的环境,当然也有可

VBS教程

Vbs是一种Windows脚本,它的全称是:Microsoft Visual Basic Script Editon.(微软公司可视化BASIC脚本版),VBS是Visual Basic的的一个抽象子集,是系统内置的,用它编写的脚本代码不能编译成二进制文件,直接由Windows系统执行(实际是一个叫做宿主host的解释源代码并执行),高效.易学,但是大部分高级语言能干的事情,它基本上都具备,它可以使各种各样的任务自动化,可以使你从重复琐碎的工作中解脱出来,极大的提高工作效率. 它最方便的地方就是

qtp:vbs基础教程

◎Vbs脚本编程简明教程之中的一个-为什么要使用Vbs?  在Windows中,学习计算机操作或许非常easy,可是非常多计算机工作是反复性劳动,比如你每周或许须要对一些计算机文件进行复制.粘贴.改名.删除.或许你每天启动计算机第一件事情就是打开WORD,切换到你喜爱的输入法进行文本编辑,同一时候还要播放优美的音乐给工作创造一个舒心的环境.当然也有可能你常常须要对文本中的某些数据进行整理,把各式各样的数据依照某种规则排列起来--.这些事情反复.琐碎,使人easy疲劳. 第三方软件或许能够强化计算

C#捕获windows关机事件,在系统关机前做一些自己想做的事

C#捕获windows关机事件,在系统关机前做一些自己想做的事: 有些时候我们可能想在Windows关机时记录或处理一些事情,这里提供几种方法. 方法一: /// <summary> /// 窗口过程的回调函数 /// </summary> /// <param name="m"></param> protected override void WndProc(ref Message m) { switch (m.Msg) { //此消息

vbs keys

其使用格式为: object.SendKeys string "object":表示WshShell对象 "string":表示要发送的按键指令字符串,需要放在英文双引号中. 1.基本键 一般来说,要发送的按键指令都可以直接用该按键字符本身来表示,例如要发送字母"x",使用 WshShell.SendKeys "x" 即可. 也可直接发送多个按键指令,只需要将按键字符按顺序排列在一起即可.例如,要发送按键"cfan&