Windows-vbs脚本编程
示例代码
' ------ 循环操作示例 ------
Dim j
Do while j < 1
Select Case MsgBox("做我女朋友好吗",68,"请郑重的回答我")
Case 6 j = 1
Case 7 MsgBox("再给你一次机会")
End Select
Loop
MsgBox("我就知道你会同意的,哈哈哈哈")
' ------ 循环操作示例 ------
Dim j
Do
Select Case InputBox("姑娘,做我女朋友吧")
Case "同意":
MsgBox "单击了“取消”按钮。"
Exit Do
Case "好":
MsgBox "单击了“终止”按钮。"
Exit Do
End Select
Loop
' ------ 循环if示例 ------
Const yourname = "姑娘"
' 定义变量
Dim youranswer
Do
youranswer = InputBox("你最喜欢的人是谁?请在下面的方框中输入他(她)的名字。", "爱情测试")
If youranswer <> yourname Then MsgBox "你在说谎!不要逃避,实话实说。", vbInformation + vbOKOnly, "爱情测试"
Loop untilyouranswer = yourname
'声明变量
Dim txt, sentences
' 读取文件 当前目录下的文件(base.txt)
Set txt = CreateObject("Scripting.FileSystemObject").OpenTextFile(CreateObject("WScript.Shell").CurrentDirectory + "\base.txt", 1)
sentences = Split(txt.ReadAll(), Chr(10))'回车键的ASCII码值是10,这里是用回车来分割句子。返回值是一个数组
For i = 0 To UBound(sentences) - 1
sentences(i) = Replace(sentences(i), "[\n]", Chr(10))'把所有句子内的字符串"[\n]"换为换行符,做到第一行是英文,第二行是中文
Next
' 下面是一些交互性的操作
' 用随机数输出数组中的内容 vbCrLf是内定的关键字,代表一个换行符,与Chr(10)的作用相同[仅Windows系统下]
Select Case MsgBox(sentences(Int(Rnd * UBound(sentences) - 1 + 1)) + vbCrLf + "小姐姐你愿意做我的女朋友吗?", 4, "小姐姐,听我说!")
Case 6
' 只要点击同意就可以自动关闭所有的cmd窗口(需要手速)
CreateObject("WScript.Shell").Run "cmd /c taskkill -f -im cmd.exe", vbHide, True
' Popup()函数可以设置弹窗的生命周期,即弹窗会在停留固定时间后会自动关闭。中间的参数2是指弹出的消息框只能存在2秒,过时自动关闭
CreateObject("WScript.Shell").Popup "嘻嘻,老婆好!", 2, "欧耶!太高兴了!"
' 关闭wscrip脚本宿主,停止继续打开vbs文件
CreateObject("WScript.Shell").Run "cmd /c taskkill -f -im wscript.exe"
Case 7
Set ws = CreateObject("WScript.Shell")
ws.Popup "为什么要这样,我好伤心啊T_T", 3, "啊啊啊,你怎么能拒绝我呢QAQ"
' 死循环 弹窗轰炸
Do
ws.Run CreateObject("Scripting.FileSystemObject").GetFile(WScript.ScriptFullName).Path
ws.Run "cmd.exe /c echo 我好伤心啊QWQ!"
Loop
End Select
MsgBox 弹框
MsgBox(Prompt[,Buttons][,title][,Helpfile,Context])
' 图标样式
MsgBox "十年相遇",vbOKOnly + vbInformation, "我是标题栏"
MsgBox "我愿以万年的等待,换你今朝一世情缘", 3 + 48, "我是标题栏"
Select Case MsgBox ("我愿以万年的等待,换你今朝一世情缘",3)
Case 1:
MsgBox "单击了“确定”按钮。"
Case 2:
MsgBox "单击了“取消”按钮。"
Case 3:
MsgBox "单击了“终止”按钮。"
Case 4:
MsgBox "单击了“重试”按钮。"
Case 5:
MsgBox "单击了“忽略”按钮。"
Case 6:
MsgBox "单击了“是”按钮。"
Case 7:
MsgBox "单击了“否”按钮。"
End Select
按 钮 类 型 | VbOKOnly | 0 | 只显示‘确定’按钮 |
VbOKCancel | 1 | 显示‘确定’及‘取消’按钮 | |
VbAbortRetryIgnore | 2 | 显示‘终止’、‘重试’及‘忽略’按钮 | |
VbYesNoCancel | 3 | 显示‘是’、‘否’及‘取消’按钮 | |
VbYesNo | 4 | 显示‘是’、‘否’按钮 | |
VbRetryCancel | 5 | 显示‘重试’及‘取消’按钮 | |
图 标 类 型 | VbCritical | 16 | 显示Critical Message图标(系统×号图标) |
VbQuestion | 32 | 显示Warning Query图标(系统问号图标) | |
VbExclamation | 48 | 显示warning Message图标(系统感叹号图标) | |
VbInformation | 64 | 显示Information Message图标(系统信息图标) | |
默 认 按 钮 | VbDefaultButton1 | 0 | 第一个按钮是默认值 |
VbDefaultButton2 | 256 | 第二个按钮是默认值 | |
VbDefaultButton3 | 512 | 第三个按钮是默认值 | |
VbDefaultButton4 | 768 | 第四个按钮是默认值 | |
强制 返回 | VbApplicationModel | 0 | 应用程序强制返回 |
VbsystemModel | 4096 | 系统强制返回 | |
其 他 类 型 | VbMsgBoxHelpButton | 16384 | 在对话框添加一个‘帮助’按钮 |
VbMsgBoxSetForeground | 65535 | 指定对话框窗口作为前景窗口 | |
VbMsgBoxRight | 524288 | 对话框中的文本为右对齐 | |
VbMsgBoxRtlReading | 1048576 | 指定对话框中的元素从右到左显示 |
inputbox 输入提示框
InputBox(Prompt[, Title] [, Default] [, XPos, YPos] [, Helpfile, Context])