用VBScript制作QQ自動登錄的腳本代碼
來源:易賢網(wǎng) 閱讀:890 次 日期:2016-06-30 10:51:40
溫馨提示:易賢網(wǎng)小編為您整理了“用VBScript制作QQ自動登錄的腳本代碼”,方便廣大網(wǎng)友查閱!

一直用的是狂人版的QQ,也用它附贈的自動登錄器很久了,不過最近一版的狂人QQ不知為何取消了自動登錄組件。好在QQ2009已經(jīng)能夠同時記住多個號碼的密碼,雖然要多點擊幾下,但依然能夠?qū)崿F(xiàn)免輸入密碼登錄。

誰知最近不知道電腦發(fā)了什么瘋,每隔一段時間,QQ記住的密碼就會被清空。我的兩個QQ號密碼都設(shè)置得比較復(fù)雜,每次登錄要輸入兩遍密碼實在是件痛苦的事情,于是決定自制一個登錄器。

在網(wǎng)上找了許久,發(fā)現(xiàn)了一個用VBS制作QQ登錄腳本的辦法:

代碼如下:

set WshShell = WScript.CreateObject("WScript.Shell")   '創(chuàng)建一個Shell對象

WshShell.Run "C:\Progra~1\Tencent\QQ\QQ.exe"      '運行QQ,這里改成你自己的QQ目錄

WScript.Sleep 3000                      '休眠 3000毫秒(停止3秒)

WshShell.SendKeys "{tab}"

WScript.Sleep 100

WshShell.SendKeys "xxxxxxxxx"      '這里的xxxx用你的QQ號碼代替

Wscript.Sleep 100

WshShell.SendKeys "{tab}"

Wscript.Sleep 100

WshShell.SendKeys "********"      '這里的****用你的QQ密碼代替

Wscript.Sleep 1000

WshShell.Sendkeys "{enter}"

需要注意的是,文件夾的名如果大于8個字符或者中間有空格,要寫成“PROGRA~1”這種形式,就是保留名字的前6個字母然后加上“~1”,這個“~1”代表前6個字母相同文件夾名字的第一個文件夾,例如有2個文件夾中間都有空格:Program Files和Program Filez,那就先以名稱排列圖標(biāo),看最前面的就是~1,第2個就是~2

可是把代碼復(fù)制過來后,卻始終說密碼錯誤。研究半天,終于明白,原來是因為我的密碼中有一些特殊字符,而這些特殊字符在VBS中另有其它含義。然而,要想使用這些特殊字符的本來意義,網(wǎng)上卻找不到解決的辦法——很多網(wǎng)站都說用“\”引導(dǎo)就可以了,例如密碼中如果有“$”字符,就要用“\$”代替??墒俏以囉弥笞C明在DOS環(huán)境中這樣不行!

最后經(jīng)過反復(fù)試驗,終于把這個問題解決了。而且,我還添加了一個判斷過程。也就是如果把這個腳本放在開始-->所有程序-->啟動里面,打算在開機(jī)的時候自動運行的話,那就可以通過點擊確定或者取消來啟動或者跳過QQ自動登錄。代碼如下:

代碼如下:

set WshShell = WScript.CreateObject("WScript.Shell")

Dim a

a = MsgBox("自動登錄QQ嗎?",65,"QQ自動登錄")

If a=1 Then

WshShell.Run "D:\Progra~1\Tencent\QQ2009\Bin\QQ.exe"

WScript.Sleep 11000

WshShell.SendKeys "+{tab}"

WScript.Sleep 300

WshShell.SendKeys "xxxxxxx{tab}"

Wscript.Sleep 300

WshShell.SendKeys "****************{tab}"

Wscript.Sleep 300

WshShell.SendKeys "{down 7}{enter}"

Wscript.Sleep 300

WshShell.SendKeys "{tab 4}{enter}"

Wscript.Sleep 15000

WshShell.Run "D:\Progra~1\Tencent\QQ2009\Bin\QQ.exe"

WScript.Sleep 2000

WshShell.SendKeys "+{tab}"

WScript.Sleep 300

WshShell.SendKeys "xxxxxxxxx{tab}"

Wscript.Sleep 300

WshShell.SendKeys "****************{tab}"

Wscript.Sleep 300

WshShell.SendKeys "{down 7}{enter}"

Wscript.Sleep 300

WshShell.SendKeys "{tab 4}{enter}"

End If

注釋:

如果你不希望出現(xiàn)提示對話框,只要把第2、3、4行和最后一行刪除掉即可。

第5行,我的QQ啟動目錄在D:\Program Files\Tencent中。

第6行,由于剛開機(jī)時可能同時要加載許多程序,QQ的啟動過程可能比較慢,需要等待11秒鐘確保登錄界面出現(xiàn)。而且我發(fā)現(xiàn),狂人版的QQ在啟動過程中很容易受到干擾而失去當(dāng)前登錄窗口,所以這里的等待時間應(yīng)盡可能足夠長以確保自動登錄時沒有其它程序搶走當(dāng)前窗口。

第7行,狂人版QQ啟動后,除非是第一次運行QQ,否則光標(biāo)位置并不在輸入號碼的地方,而是輸入密碼的地方,所以需要發(fā)送Shift+Tab組合鍵使得光標(biāo)出現(xiàn)在輸入號碼的框中。

對于需要與Shift、Ctrl、Alt三個控制鍵組合的按鍵,SendKeys使用特殊字符來表示:+、^、%,另外對于一些不會生成字符的控制功能按鍵,則需要使用大括號括起來按鍵的名稱。下面是這些按鍵和表示法的對照:

  按鍵                代碼    

  BACKSPACE     {BACKSPACE}, {BS}, 或 {BKSP}    

  BREAK       {BREAK}    

  CAPS LOCK     {CAPSLOCK}    

  DEL or Delete   {Delete} 或 {DEL}    

  DOWN ARROW     {DOWN}    

  END        {END}    

  ENTER       {ENTER}或 ~    

  ESC        {ESC}    

  HELP        {HELP}    

  HOME        {HOME}    

  INS or Insert   {Insert} 或 {INS}    

  LEFT ARROW     {LEFT}    

  NUM LOCK      {NUMLOCK}    

  PAGE DOWN     {PGDN}    

  PAGE UP      {PGUP}    

  PRINT SCREEN    {PRTSC}    

  RIGHT ARROW    {RIGHT}    

  SCROLL LOCK    {SCROLLLOCK}    

  TAB        {TAB}    

  UP ARROW      {UP}    

  F1         {F1}    

  ……

  F10         {F10}

第8行,光標(biāo)發(fā)生位置變動,所以延時0.3秒,確保光標(biāo)成功轉(zhuǎn)移。以下同。

第9行,輸入完號碼后還需要按一下Tab鍵使得光標(biāo)跳轉(zhuǎn)到密碼輸入框中。這里我考慮到數(shù)字鍵和Tab鍵的點擊都是在同一個框內(nèi),所以直接放在了一起,節(jié)約時間。

第11行,輸入密碼。注意,如果你的密碼中有“$”、“(”、“)”、“*”、“+”、“_”、“[”、“?”、“\”、“^”、“{”或者“|”符號,就必須用{ }框起來,例如有“[”,就得寫成“{[}”;如果有“{”,就得寫成“{{}”;如果密碼是“a*2+3”,就得寫成“a{*}2{+}3”。其余類推。

注意最后的{Tab},如果你只有一個QQ號,而且每次都是正常方式登錄,那么你可以將{Tab}改成{Enter},然后刪除后面的行就行了。

第13行,由于我每次都希望能以隱身方式登錄,所以在這里添加了按向下鍵選取隱身模式的過程,選中隱身模式后需要發(fā)送回車鍵才能選中。如果需要發(fā)送多個重復(fù)的單字母按鍵,不必重復(fù)輸入該字母,SendKeys允許使用簡化格式進(jìn)行描述,使用格式為“{按鍵 數(shù)字}”。例如要發(fā)送10個字母“x”,則輸入“WshShell.SendKeys "{x 10}"”即可,所以這里我用了7個向下鍵。

第15行,這里的4個Tab是用于將鼠標(biāo)點擊焦點移動到登錄窗口中的“登錄”按鈕上,最后發(fā)送回車開始登錄過程。

第17行,我需要登錄兩個QQ號,所以在這里需要等待至少15秒,確保第一個號碼完全登錄。如果你的第一個QQ號還沒有登錄完畢就出現(xiàn)了第二個登錄窗口,那第二個QQ登錄一定會失敗,需要增大這里的數(shù)值。

后面的過程就和前面的一樣了,不再贅述。編輯好這段代碼之后,新建一個文本文件,將代碼復(fù)制進(jìn)去,然后將文件改名為AutoQQ.VBS,雙擊就可以看到效果了。

補(bǔ)充說明:

1)雙擊運行vbs文件后,不能點擊鼠標(biāo),也不能敲擊鍵盤,必須等到QQ號啟動結(jié)束才能做其它事情,否則登錄過程很可能會失敗。

2)運行此腳本時不能有其它搶占最頂端窗口的程序,例如QQ記牌器之類,否則WScript會把字符發(fā)送到錯誤的窗口中;也不要設(shè)置收到QQ消息就自動彈出窗口,否則后續(xù)QQ號登錄很可能會被干擾。

3)這種方法自動登錄QQ,密碼是明文形式存放在vbs文件中的,所以只適用于私人電腦,如果多人使用同一電腦就不安全了。也許你可以去網(wǎng)上找一個叫做“VBS2EXE”的軟件來把腳本文件轉(zhuǎn)換成exe文件,但是我試驗了多次,這個軟件沒法在我的機(jī)器上運行。

更多信息請查看腳本欄目
易賢網(wǎng)手機(jī)網(wǎng)站地址:用VBScript制作QQ自動登錄的腳本代碼
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!

2025國考·省考課程試聽報名

  • 報班類型
  • 姓名
  • 手機(jī)號
  • 驗證碼
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機(jī)站點 | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報警專用圖標(biāo)