概述

听说抖音上流行一种用代码做程序表白的东西,,,,

当然我也不是要表白,,,,

但是好像蛮有意思的,,,,

于是,又学了一下vbs脚本,做了几个很不错的祝福脚本,不懂代码的可以直接戳传送门下载,但是想自己改内容的话,下面有讲

效果示范

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

思路

目前这个脚本分成了4个板块的功能,想自己改的可以通过下面的讲解自己改内容,或者启动我原来没有启动的功能

首先,把程序下载以后,拖到桌面上,右键用记事本打开,对!用记事本打开,vbs脚本不需要花里胡哨的编辑器云云,直接暴力记事本打开,查看源码

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中间,当然你也看出这是个函数了,那我们的内容也是模拟键盘输入,所以,你觉得怎么搞这部分呢?

用数组存字符串,然后模拟键盘输出吗?

试过很多次了,都失败了,貌似只能一个一个敲

然后,写一个字母的代码量,,,,大概是40个字母

当然,不可能真的一个字一个字敲啊,为什么不写一个程序出来,专门写vb的模拟键盘输入代码呢?

C++实现英文转vbs模拟键盘输入代码

#include

#include

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<

}

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.Save

Set oShellLink=Nothing

strDesktop = Seven.SpecialFolders(4)

mypath=strDesktop&"\Titordong.url"

Seven.run mypath

End Function

如果你有博客,或者你有自己写的网页,甚至你自己的qq空间也行,把链接复制,然后oShellLink.TargetPath = "https://www.cnblogs.com/Titordong/"里面的后面引号里替换,就ok

效果就是可以再桌面建立一个快捷方式链接,然后自动打开你指向的这个链接,当然这个在程序里要调用的话,要在say(AutoTime)后面加一行link()

后记

vbs脚本功能很强(好像之前说过),切记每行只能有一个语句哦!而且,用英文输入法写,包括代码,也包括英文的祝福&搞笑,至于为什么不用中文,,,键盘上也没有中文按键啊~

php 以自动打字程序,使用vbs脚本实现自动打字祝福与搞笑实现代码相关推荐

  1. php 以自动打字程序,利用vbs脚本实现自动打字

    每次在调试程序的时候都要反反复复的输入测试数据,真的神烦哪,听说可以用文件读写的方式输入测试数据,然而我相信你不愿额外花时间维护写文件部分的代码,所以,问题来了,让谁来帮我打字呢. vbs can! ...

  2. 通过任务计划程序和Powershell脚本实现自动安装Windows补丁

    域控补丁通过任务计划程序安装,输出日志方便确认安装情况 多域控安装 同时输出日志到同一目录 后期进一步修改以实现自动设立和删除任务计划程序,避免多余操作 注意: 1.任务计划程序中需要在启动程序填 p ...

  3. 简单的防止Windows自动锁屏的VBS脚本

    文件后缀名从txt更改为vbs,双击可直接运行 原理是通过脚本每隔一段时间自动按2下CAPSLOCK键 脚本如下: Set objShell = CreateObject("Wscript. ...

  4. linux 界面自动输入密码,Linux中shell脚本如何自动输入密码

    shell脚本在处理自动循环或大的任务方面可节省大量的时间,通过创建一个处理任务的命令清单,使用变量.条件.算术和循环等方法快速创建脚本以完成相应工作,这比在命令行下一个个敲入命令要省时省力得多. 但 ...

  5. php自动发卡程序8.0_PHP知宇自动发卡平台系统源码企业版 v1.0

    PHP知宇发卡系统企业版 自动发卡平台源码,无需授权,对接易支付接口版,站长测试源码安装和后台的功能设置保存添加商户等正常,前端内容展示和用户注册添加卡密等正常. 搭建教程: 首先把程序上传到主机空间 ...

  6. linux实现自动互信,Linux 使用shell脚本实现自动SSH互信功能

    说假设有一个1000台节点的Hadoop集群,要配置节点之间的SSH免密码登录,该如何用shell脚本实现? #!/bin/expect #循环1000台机器的IP地址,生成密钥文件authorize ...

  7. 注释Java搞笑图_程序员的幽默感, 都藏在这些奇葩搞笑的代码注释里了

    在普通人们眼中,程序猿是神秘的,是不修边幅的,是没日没夜加班的工作狂:但在程序猿眼中,自己是帅气的,拯救世界的,一枝梨花压海棠的科技先驱. 程序猿的丰功伟绩,最直接的体现就是像艺术品一样的代码,行云流 ...

  8. 4.3一个“简陋”的打字程序

    Typer.cpp 04SimpleTyper 工程下.先创建一个 Win32 应用程序工程,再将上节例子中的代码复制过来,然后一步步添加新的功能就可以了. /// // Typer.cpp文件#in ...

  9. 盖章php源码,php源码企业自动发卡程序源码

    php源码企业自动发卡程序源码 php企业自动发卡程序源码,无问题与Bug,已通过安全狗等平台验证,提供新版UI模板,全新体验,后台有多款页面模板切换! 本程序已对接了易商付银行支付接口(www.es ...

  10. vbs脚本实现搞笑代码vbs实现自动打字祝福(耗子尾汁)

    系列文章分类 C#专栏.VBS专栏.JAVA 专栏.IDEA 专栏 vbs脚本实现搞笑代码&vbs实现自动打字祝福 前言 一.vbs淦对话框 二.vbs淦打油诗 三.vbs淦函数 四.vbs淦 ...

最新文章

  1. 阿里云oss 上传图片 python3
  2. Simulink仿真 第九节 时间延迟模块
  3. glide默认的缓存图片路径地址_手写一个静态资源中间件,加深了解服务器对文件请求的缓存策略...
  4. 前端学习(2671): 逻辑实现
  5. LeetCode 977. 有序数组的平方
  6. 初学者一些常用的SQL语句(二)
  7. mysql客户端介绍
  8. 轻轻松松学会Python入门一:初识Python
  9. ABP (ASP.NET Core 5.x + Vue)小白基础入门(一)
  10. 小程序input textarea 禁止粘贴实现
  11. 洛谷入门-- P3717
  12. 论文笔记(2):Cartoon Avatar Generation with Configurable Attributes based on GAN
  13. 应用宝shangjia安全评估报告_你的APP上架,遇到【安全评估报告】这道门槛了吗?...
  14. yy部分地区服务器升级维护,3月5日全区全服更新公告 - YY大皇帝 YY大皇帝独家官网 YY大皇帝新手卡...
  15. Android 跳转到高德、百度、腾讯地图进行导航
  16. Win 10 运行软件报‘MSCOMCTL.OCX‘缺失怎么办
  17. 随机获得map/json中的一组键值对
  18. 闭关修炼(二十五)基础web安全
  19. Linux中ctrl+f2进入编辑模式后,localhost怎么输入密码都不对
  20. Location iOS12.3驱动分享

热门文章

  1. 针对Informer中时序数据ETT油温数据分析
  2. [NOI2002]贪吃的九头龙(树形dp)
  3. Captcha Cracker
  4. 手机控制树莓派驱动投影仪DLPDLCR230NPEVM
  5. AES加密解密(C语言实现)
  6. 矩阵对角化(Diagonalizing a Matrix)
  7. 软件实施人员具备的技能和素养
  8. 问题 M: 【枚举】桐桐数
  9. win10内存占用率过高怎么办_win10磁盘占用和内存CPU占用率太高怎么办
  10. sqlserver数据库的使用