iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >怎么使用vbs脚本实现自动打字祝福与搞笑
  • 308
分享到

怎么使用vbs脚本实现自动打字祝福与搞笑

2023-06-08 09:06:50 308人浏览 独家记忆
摘要

这篇文章将为大家详细讲解有关怎么使用vbs脚本实现自动打字祝福与搞笑,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。效果示范<iframe height=498 width=510 src='

这篇文章将为大家详细讲解有关怎么使用vbs脚本实现自动打字祝福与搞笑,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

效果示范

<iframe height=498 width=510 src='Http://player.youku.com/embed/XMzk4Nzk4NDE5Ng==' frameborder=0 'allowfullscreen'>

貌似不能看,只能点进去看,好吧,,,

思路

目前这个脚本分成了4个板块的功能,想自己改的可以通过下面的讲解自己改内容,或者启动我原来没有启动的功能
首先,把程序下载以后,拖到桌面上,右键用记事本打开,对!用记事本打开,vbs脚本不需要花里胡哨的编辑器云云,直接暴力记事本打开,查看源码

1)开篇交互对话框

Dim a,cut,b,Str,flagflag=falsecut=1a=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  LoopElse flag=trueEnd If

Dim关键字用来声明变量,当然在vbs里变量不声明也可以用,但是退出那个块以后变量就释放掉了,所有最好还是前面声明一下,之后的程序应该比较好看懂,有输入对话框,显示对话框,提示输入,inputbox的输入对话框第2个参数省略了,第3个参数是默认的输入框里的内容,这里面的素有双引号内的东西都可以自己改,在选择是否变魔术那里,选5次否,脚本退出

2)打开记事本,念打油诗

If flag=true Then Set WS=WScript.CreateObject("WScript.shell")WS.run("notepad"),3WScript.Sleep 500WS.AppActivate("notepad")WS.SendKeys "+"arr=Array("听","说","你","被","拐","卖","真","的","把","我","吓","坏","你","虽","从","小","痴","呆","却","对","社","会","无","害","谁","人","如","此","大","胆","竟","敢","拿","你","去","卖","我","真","替","他","担","心","卖","得","掉","才","怪","")f(arr)WScript.Sleep 3000For 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"  NextWScript.Sleep 3000For 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  NextEnd Function

下载了vbs脚本以后就会发现,这一部分其实并没与启动,因为虽然这部分代码有,但是关键部分都被我注释掉了,如你所见'在vbs脚本中就是注释(大号字体标注),也就是英文的单引号,如果想启动,就把这一部分的注释全部去掉,这部分的原理就是把汉字数组的每个字依次传到剪贴板,然后偶模拟键盘Ctrl+V,由于频繁操作剪贴板,这部分执行可能会导致缺字打印(电脑缓不过来),之后进行模拟键盘的删除操作,把写好的打油诗删除,准备下面的英语正文。

3)接着上面的记事本,写英文

这是整个脚本的重点,写出像视频中的效果那样,一个字母一个字母敲的效果,先上一段代码: 

AutoTime=75say(AutoTime)Function say(AutoTime)End Function

什么?就这么点吗?当然不是!!!这部分的代码有上千上,内容就在function中间,当然你也看出这是个函数了,那我们的内容也是模拟键盘输入,所以,你觉得怎么搞这部分呢?
用数组存字符串,然后模拟键盘输出吗?
试过很多次了,都失败了,貌似只能一个一个敲
然后,写一个字母的代码量,,,,大概是40个字母
当然,不可能真的一个字一个字敲啊,为什么不写一个程序出来,专门写vb的模拟键盘输入代码呢?

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] == '\0') {      ofile << "WS.SendKeys \"{ENTER}\"" << endl << endl<<endl;    }    else {      for (int i(0); i < strlen(str); i++) {        ofile << "WScript.Sleep AutoTime" << endl;        ofile << "WS.SendKeys \"" << str[i] << "\"" << endl;      }      ofile << "WScript.Sleep 1000" << endl;      ofile << "WS.SendKeys \"{ENTER}\"" << endl << endl << endl;    }  }  ofile.close();  ifile.close();  return 0;}

两个文件,in.txt,你要显示的英文,可以空行,可以逗号问好,但是,必须用英文输入法

对,就像这样,对吧,很容易,然后就会生成一个1k多行的out.txt
把里面内容全选复制,然后放在function say 的中间,这一步就完成了
AutoTime是每个字的间隔,可以自己定义,75效果就蛮好的

4)祝福网页

又是一个在脚本里没出现的功能,

Function link()Set Seven = WScript.CreateObject("WScript.Shell")strDesktop = Seven.SpecialFolders("Desktop")set oShellLink = Seven.CreateShortcut(strDesktop & "\Titordong.url")oShellLink.TargetPath = "https://www.cnblogs.com/Titordong/"oShellLink.SaveSet oShellLink=NothingstrDesktop = Seven.SpecialFolders(4)mypath=strDesktop&"\Titordong.url"Seven.run mypathEnd Function

如果你有博客,或者你有自己写的网页,甚至你自己的qq空间也行,把链接复制,然后oShellLink.TargetPath = "https://www.cnblogs.com/Titordong/"里面的后面引号里替换,就ok
效果就是可以再桌面建立一个快捷方式链接,然后自动打开你指向的这个链接,当然这个在程序里要调用的话,要在say(AutoTime)后面加一行link()

关于“怎么使用vbs脚本实现自动打字祝福与搞笑”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

--结束END--

本文标题: 怎么使用vbs脚本实现自动打字祝福与搞笑

本文链接: https://www.lsjlt.com/news/253055.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 怎么使用vbs脚本实现自动打字祝福与搞笑
    这篇文章将为大家详细讲解有关怎么使用vbs脚本实现自动打字祝福与搞笑,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。效果示范<iframe height=498 width=510 src='...
    99+
    2023-06-08
  • 怎么用VBS实现脚本结束进程与防止进程启动
    这篇文章将为大家详细讲解有关怎么用VBS实现脚本结束进程与防止进程启动,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Kill.vbs: 代码如下:for each ps in...
    99+
    2023-06-08
  • Linux中怎么使用expect实现脚本自动交互
    这篇文章主要介绍“Linux中怎么使用expect实现脚本自动交互”,在日常操作中,相信很多人在Linux中怎么使用expect实现脚本自动交互问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux中怎么使...
    99+
    2023-06-27
  • 怎么使用shell脚本执行命令实现自动填充密码
    这篇文章主要介绍“怎么使用shell脚本执行命令实现自动填充密码”,在日常操作中,相信很多人在怎么使用shell脚本执行命令实现自动填充密码问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用shell脚本...
    99+
    2023-07-05
  • Linux中怎么使用expect脚本实现远程机器自动登录
    本篇内容介绍了“Linux中怎么使用expect脚本实现远程机器自动登录”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先创建一个expec...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作