使用vbs腳本實(shí)現(xiàn)自動(dòng)打字祝福與搞笑實(shí)現(xiàn)代碼
概述
聽說抖音上流行一種用代碼做程序表白的東西,,,,
當(dāng)然我也不是要表白,,,,
但是好像蠻有意思的,,,,
于是,又學(xué)了一下vbs腳本,做了幾個(gè)很不錯(cuò)的祝福腳本,不懂代碼的可以直接戳傳送門下載,但是想自己改內(nèi)容的話,下面有講
效果示范
<iframe height=498 width=510 src='/a1/uploads/allimg/200110/135A35647-0.jpg' frameborder=0 'allowfullscreen'>
貌似不能看,只能點(diǎn)進(jìn)去看,好吧,,,
思路
目前這個(gè)腳本分成了4個(gè)板塊的功能,想自己改的可以通過下面的講解自己改內(nèi)容,或者啟動(dòng)我原來沒有啟動(dòng)的功能
首先,把程序下載以后,拖到桌面上,右鍵用記事本打開,對(duì)!用記事本打開,vbs腳本不需要花里胡哨的編輯器云云,直接暴力記事本打開,查看源碼
1)開篇交互對(duì)話框
Dim a,cut,b,Str,flag flag=false cut=1 a=Inputbox("你相信這世界上存在圣誕老人嗎?",,"相信") MsgBox "..." MsgBox "其實(shí)我就是圣誕老人" MsgBox "雖然我沒有禮物給你" MsgBox "嗚嗚,你是不是生氣啦" MsgBox "那我給你變個(gè)魔術(shù)好不好" a=Inputbox("要不要變魔術(shù)?",,"要") If a<>"要" Then MsgBox "嗚嗚,真的不給機(jī)會(huì)嗎?" Do b=InputBox(Str+"試一下吧",,"不") Str=Str&"請(qǐng)" 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關(guān)鍵字用來聲明變量,當(dāng)然在vbs里變量不聲明也可以用,但是退出那個(gè)塊以后變量就釋放掉了,所有最好還是前面聲明一下,之后的程序應(yīng)該比較好看懂,有輸入對(duì)話框,顯示對(duì)話框,提示輸入,inputbox的輸入對(duì)話框第2個(gè)參數(shù)省略了,第3個(gè)參數(shù)是默認(rèn)的輸入框里的內(nèi)容,這里面的素有雙引號(hào)內(nèi)的東西都可以自己改,在選擇是否變魔術(shù)那里,選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("聽","說","你","被","拐","賣","真","的","把","我","嚇","壞","你","雖","從","小","癡","呆","卻","對(duì)","社","會(huì)","無","害","誰","人","如","此","大","膽","竟","敢","拿","你","去","賣","我","真","替","他","擔(dān)","心","賣","得","掉","才","怪","") 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函數(shù)的實(shí)現(xiàn)
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腳本以后就會(huì)發(fā)現(xiàn),這一部分其實(shí)并沒與啟動(dòng),因?yàn)殡m然這部分代碼有,但是關(guān)鍵部分都被我注釋掉了,如你所見'在vbs腳本中就是注釋(大號(hào)字體標(biāo)注),也就是英文的單引號(hào),如果想啟動(dòng),就把這一部分的注釋全部去掉,這部分的原理就是把漢字?jǐn)?shù)組的每個(gè)字依次傳到剪貼板,然后偶模擬鍵盤Ctrl+V,由于頻繁操作剪貼板,這部分執(zhí)行可能會(huì)導(dǎo)致缺字打?。娔X緩不過來),之后進(jìn)行模擬鍵盤的刪除操作,把寫好的打油詩刪除,準(zhǔn)備下面的英語正文。
3)接著上面的記事本,寫英文
這是整個(gè)腳本的重點(diǎn),寫出像視頻中的效果那樣,一個(gè)字母一個(gè)字母敲的效果,先上一段代碼:
AutoTime=75 say(AutoTime) Function say(AutoTime) End Function
什么?就這么點(diǎn)嗎?當(dāng)然不是?。?!這部分的代碼有上千上,內(nèi)容就在function中間,當(dāng)然你也看出這是個(gè)函數(shù)了,那我們的內(nèi)容也是模擬鍵盤輸入,所以,你覺得怎么搞這部分呢?
用數(shù)組存字符串,然后模擬鍵盤輸出嗎?
試過很多次了,都失敗了,貌似只能一個(gè)一個(gè)敲
然后,寫一個(gè)字母的代碼量,,,,大概是40個(gè)字母
當(dāng)然,不可能真的一個(gè)字一個(gè)字敲啊,為什么不寫一個(gè)程序出來,專門寫vb的模擬鍵盤輸入代碼呢?
C++實(shí)現(xiàn)英文轉(zhuǎn)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; }
兩個(gè)文件,in.txt,你要顯示的英文,可以空行,可以逗號(hào)問好,但是,必須用英文輸入法
對(duì),就像這樣,對(duì)吧,很容易,然后就會(huì)生成一個(gè)1k多行的out.txt
把里面內(nèi)容全選復(fù)制,然后放在function say 的中間,這一步就完成了
AutoTime是每個(gè)字的間隔,可以自己定義,75效果就蠻好的
4)祝福網(wǎng)頁
又是一個(gè)在腳本里沒出現(xiàn)的功能,
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
如果你有博客,或者你有自己寫的網(wǎng)頁,甚至你自己的qq空間也行,把鏈接復(fù)制,然后oShellLink.TargetPath = "https://www.cnblogs.com/Titordong/"里面的后面引號(hào)里替換,就ok
效果就是可以再桌面建立一個(gè)快捷方式鏈接,然后自動(dòng)打開你指向的這個(gè)鏈接,當(dāng)然這個(gè)在程序里要調(diào)用的話,要在say(AutoTime)后面加一行l(wèi)ink()
后記
vbs腳本功能很強(qiáng)(好像之前說過),切記每行只能有一個(gè)語句哦!而且,用英文輸入法寫,包括代碼,也包括英文的祝福&搞笑,至于為什么不用中文,,,鍵盤上也沒有中文按鍵啊~
欄 目:vb
下一篇:vbs實(shí)現(xiàn)的tasklist效果代碼
本文標(biāo)題:使用vbs腳本實(shí)現(xiàn)自動(dòng)打字祝福與搞笑實(shí)現(xiàn)代碼
本文地址:http://mengdiqiu.com.cn/a1/vb/7094.html
您可能感興趣的文章
- 01-10下載文件到本地運(yùn)行的vbs
- 01-10VBS中的正則表達(dá)式的用法大全 <font color=red>原創(chuàng)&
- 01-10VBS中SendKeys的基本應(yīng)用
- 01-10VBScript教程 第十一課深入VBScript
- 01-10用VBSCRIPT控制ONSUBMIT事件
- 01-10VBScript語法速查及實(shí)例說明
- 01-10VBS中Select CASE的其它用法
- 01-10VBScript教程 第七課使用條件語句
- 01-10vbscript 可以按引用傳遞參數(shù)嗎?
- 01-10VBScript教程 第二課在HTML頁面中添加VBscript代碼


閱讀排行
- 1C語言 while語句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹的示例代碼(圣誕
- 3利用C語言實(shí)現(xiàn)“百馬百擔(dān)”問題方法
- 4C語言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 01-10下載文件到本地運(yùn)行的vbs
- 01-10飄葉千夫指源代碼,又稱qq刷屏器
- 01-10SendKeys參考文檔
- 01-10什么是一個(gè)高效的軟件
- 01-10VBS中的正則表達(dá)式的用法大全 &l
- 01-10exe2swf 工具(Adodb.Stream版)
- 01-10VBS中SendKeys的基本應(yīng)用
- 01-10用VBSCRIPT控制ONSUBMIT事件
- 01-10VBScript教程 第十一課深入VBScript
- 01-10VBScript語法速查及實(shí)例說明
隨機(jī)閱讀
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 01-10delphi制作wav文件的方法
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-10使用C語言求解撲克牌的順子及n個(gè)骰子
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 04-02jquery與jsp,用jquery
- 01-10C#中split用法實(shí)例總結(jié)
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改