使用vbs脚本实现自动打字祝福与搞笑实现代码 |
本文标签:vbs,自动打字,祝福 概述 听说抖音上流行一种用代码做程序表白的东西,,,, 效果示范 <iframe height=498 width=510 src='http://player.youku.com/embed/XMzk4Nzk4NDE5Ng==' frameborder=0 'allowfullscreen'> 貌似不能看,只能点进去看,好吧,,, 思路 目前这个脚本分成了4个板块的功能,想自己改的可以通过下面的讲解自己改内容,或者启动我原来没有启动的功能 1)开篇交互对话框
Dim a,cut,b,Str,flag flag=false cut=1 a=Inputbox("你相信这世界上存在圣诞老人吗?",,"相信") MsgBox "..." MsgBox "其实我就是圣诞老人" MsgBox "虽然我没有礼物给你" MsgBox "呜呜,你是不是生气啦" MsgBox "那我给你变个魔术好不好" a=Inputbox("要不要变魔术?",,"要") If a<>"要" Then MsgBox "呜呜,真的不给机会吗?" Do b=InputBox(Str+"试一下吧",,"不") Str=Str&"请" If b<>"不"Then flag=true Exit Do Else cut=cut+1 End If If cut=5 Then MsgBox "那好吧,再见!" Exit Do End If Loop Else flag=true End If Dim关键字用来声明变量,当然在vbs里变量不声明也可以用,但是退出那个块以后变量就释放掉了,所有最好还是前面声明一下,之后的程序应该比较好看懂,有输入对话框,显示对话框,提示输入,inputbox的输入对话框第2个参数省略了,第3个参数是默认的输入框里的内容,这里面的素有双引号内的东西都可以自己改,在选择是否变魔术那里,选5次否,脚本退出 2)打开记事本,念打油诗 If flag=true Then Set WS=WScript.CreateObject("WScript.Shell") WS.run("notepad"),3 WScript.Sleep 500 WS.AppActivate("notepad") WS.SendKeys "+" arr=Array("听","说","你","被","拐","卖","真","的","把","我","吓","坏","你","虽","从","小","痴","呆","却","对","社","会","无","害","谁","人","如","此","大","胆","竟","敢","拿","你","去","卖","我","真","替","他","担","心","卖","得","掉","才","怪","") f(arr) WScript.Sleep 3000 For i=0 To 90 WScript.Sleep 30 WS.SendKeys "{BS}" Next arr=Array("好","啦","好","啦","不","逗","你","了","") Clipboard="MsHta vbscript:ClipBoardData.setData(""Text"","""&str1&""")(Window.Close)" WS.Run(Clipboard) For i=0 To 8 WScript.Sleep 200 Clipboard="MsHta vbscript:ClipBoardData.setData(""Text"","""&arr(i)&""")(Window.Close)" WS.Run(Clipboard) WS.SendKeys"^v" Next WScript.Sleep 3000 For i=0 To 90 WScript.Sleep 30 WS.SendKeys "{BS}" Next 以及f函数的实现 Function f(a) Dim str1 Clipboard="MsHta vbscript:ClipBoardData.setData(""Text"","""&str1&""")(Window.Close)" WS.Run(Clipboard) For i=0 To 47 WScript.Sleep 200 Clipboard="MsHta vbscript:ClipBoardData.setData(""Text"","""&a(i)&""")(Window.Close)" WS.Run(Clipboard) WS.SendKeys"^v" If i>0 Then If(i Mod 6=0) Then WScript.Sleep 400 WS.SendKeys "{ENTER}" End If End IF Next End Function 下载了vbs脚本以后就会发现,这一部分其实并没与启动,因为虽然这部分代码有,但是关键部分都被我注释掉了,如你所见'在vbs脚本中就是注释(大号字体标注),也就是英文的单引号,如果想启动,就把这一部分的注释全部去掉,这部分的原理就是把汉字数组的每个字依次传到剪贴板,然后偶模拟键盘Ctrl+V,由于频繁操作剪贴板,这部分执行可能会导致缺字打印(电脑缓不过来),之后进行模拟键盘的删除操作,把写好的打油诗删除,准备下面的英语正文 。 3)接着上面的记事本,写英文 这是整个脚本的重点,写出像视频中的效果那样,一个字母一个字母敲的效果,先上一段代码: AutoTime=75 say(AutoTime) Function say(AutoTime) End Function 什么?就这么点吗?当然不是!!!这部分的代码有上千上,内容就在function中间,当然你也看出这是个函数了,那我们的内容也是模拟键盘输入,所以,你觉得怎么搞这部分呢? C++实现英文转vbs模拟键盘输入代码 #include<iostream> #include<fstream> using namespace std; int main() { ifstream ifile; ifile.open("D:\in.txt"); ofstream ofile; ofile.open("D:\out.txt"); char str[100]; while (ifile.getline(str, 100)) { if (str[0] == ' |