热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

用VBScript制作QQ自动登录的脚本代码

有时候我们在个人电脑上,每次输入密码比较麻烦,可以自动登录,但如果qq账号多了,就可以使用这个脚本了

一直用的是狂人版的QQ,也用它附赠的自动登录器很久了,不过最近一版的狂人QQ不知为何取消了自动登录组件。好在QQ2009已经能够同时记住多个号码的密码,虽然要多点击几下,但依然能够实现免输入密码登录。

  谁知最近不知道电脑发了什么疯,每隔一段时间,QQ记住的密码就会被清空。我的两个QQ号密码都设置得比较复杂,每次登录要输入两遍密码实在是件痛苦的事情,于是决定自制一个登录器。

  在网上找了许久,发现了一个用VBS制作QQ登录脚本的办法:

代码如下:

set WshShell = WScript.CreateObject("WScript.Shell")   '创建一个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,那就先以名称排列图标,看最前面的就是~1,第2个就是~2

  可是把代码复制过来后,却始终说密码错误。研究半天,终于明白,原来是因为我的密码中有一些特殊字符,而这些特殊字符在VBS中另有其它含义。然而,要想使用这些特殊字符的本来意义,网上却找不到解决的办法——很多网站都说用“\”引导就可以了,例如密码中如果有“$”字符,就要用“\$”代替。可是我试用之后证明在DOS环境中这样不行!

  最后经过反复试验,终于把这个问题解决了。而且,我还添加了一个判断过程。也就是如果把这个脚本放在开始-->所有程序-->启动里面,打算在开机的时候自动运行的话,那就可以通过点击确定或者取消来启动或者跳过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

注释:
  如果你不希望出现提示对话框,只要把第2、3、4行和最后一行删除掉即可。

  第5行,我的QQ启动目录在D:\Program Files\Tencent中。

  第6行,由于刚开机时可能同时要加载许多程序,QQ的启动过程可能比较慢,需要等待11秒钟确保登录界面出现。而且我发现,狂人版的QQ在启动过程中很容易受到干扰而失去当前登录窗口,所以这里的等待时间应尽可能足够长以确保自动登录时没有其它程序抢走当前窗口。

  第7行,狂人版QQ启动后,除非是第一次运行QQ,否则光标位置并不在输入号码的地方,而是输入密码的地方,所以需要发送Shift+Tab组合键使得光标出现在输入号码的框中。
  对于需要与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行,光标发生位置变动,所以延时0.3秒,确保光标成功转移。以下同。

  第9行,输入完号码后还需要按一下Tab键使得光标跳转到密码输入框中。这里我考虑到数字键和Tab键的点击都是在同一个框内,所以直接放在了一起,节约时间。

  第11行,输入密码。注意,如果你的密码中有“$”、“(”、“)”、“*”、“+”、“_”、“[”、“?”、“\”、“^”、“{”或者“|”符号,就必须用{ }框起来,例如有“[”,就得写成“{[}”;如果有“{”,就得写成“{{}”;如果密码是“a*2+3”,就得写成“a{*}2{+}3”。其余类推。
  注意最后的{Tab},如果你只有一个QQ号,而且每次都是正常方式登录,那么你可以将{Tab}改成{Enter},然后删除后面的行就行了。

  第13行,由于我每次都希望能以隐身方式登录,所以在这里添加了按向下键选取隐身模式的过程,选中隐身模式后需要发送回车键才能选中。如果需要发送多个重复的单字母按键,不必重复输入该字母,SendKeys允许使用简化格式进行描述,使用格式为“{按键 数字}”。例如要发送10个字母“x”,则输入“WshShell.SendKeys "{x 10}"”即可,所以这里我用了7个向下键。

  第15行,这里的4个Tab是用于将鼠标点击焦点移动到登录窗口中的“登录”按钮上,最后发送回车开始登录过程。

  第17行,我需要登录两个QQ号,所以在这里需要等待至少15秒,确保第一个号码完全登录。如果你的第一个QQ号还没有登录完毕就出现了第二个登录窗口,那第二个QQ登录一定会失败,需要增大这里的数值。

  后面的过程就和前面的一样了,不再赘述。编辑好这段代码之后,新建一个文本文件,将代码复制进去,然后将文件改名为AutoQQ.VBS,双击就可以看到效果了。

补充说明:

1)双击运行vbs文件后,不能点击鼠标,也不能敲击键盘,必须等到QQ号启动结束才能做其它事情,否则登录过程很可能会失败。

2)运行此脚本时不能有其它抢占最顶端窗口的程序,例如QQ记牌器之类,否则WScript会把字符发送到错误的窗口中;也不要设置收到QQ消息就自动弹出窗口,否则后续QQ号登录很可能会被干扰。

3)这种方法自动登录QQ,密码是明文形式存放在vbs文件中的,所以只适用于私人电脑,如果多人使用同一电脑就不安全了。也许你可以去网上找一个叫做“VBS2EXE”的软件来把脚本文件转换成exe文件,但是我试验了多次,这个软件没法在我的机器上运行。

(本人原创作品,转载请注明出自玄鸟翩翩)


推荐阅读
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • 信息安全等级保护是指对国家秘密信息、法人和其他组织及公民的专有信息以及公开信息和存储、传输、处理这些信息的信息系统分等级实行安全保护,对信息系统中使用的信息安全产品实 ... [详细]
  • 无线认证设置故障排除方法及注意事项
    本文介绍了解决无线认证设置故障的方法和注意事项,包括检查无线路由器工作状态、关闭手机休眠状态下的网络设置、重启路由器、更改认证类型、恢复出厂设置和手机网络设置等。通过这些方法,可以解决无线认证设置可能出现的问题,确保无线网络正常连接和上网。同时,还提供了一些注意事项,以便用户在进行无线认证设置时能够正确操作。 ... [详细]
  • t-io 2.0.0发布-法网天眼第一版的回顾和更新说明
    本文回顾了t-io 1.x版本的工程结构和性能数据,并介绍了t-io在码云上的成绩和用户反馈。同时,还提到了@openSeLi同学发布的t-io 30W长连接并发压力测试报告。最后,详细介绍了t-io 2.0.0版本的更新内容,包括更简洁的使用方式和内置的httpsession功能。 ... [详细]
  • 本文详细介绍了相机防抖的设置方法和使用技巧,包括索尼防抖设置、VR和Stabilizer档位的选择、机身菜单设置等。同时解释了相机防抖的原理,包括电子防抖和光学防抖的区别,以及它们对画质细节的影响。此外,还提到了一些运动相机的防抖方法,如大疆的Osmo Action的Rock Steady技术。通过本文,你将更好地理解相机防抖的重要性和使用技巧,提高拍摄体验。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 本文详细介绍了华为4GLTE路由器B310的外置天线安装和设置方法。通过连接电源和网线,输入路由器的IP并登陆设置页面,选择手动设置和手动因特网设置,输入ISP提供商的用户名和密码,并设置MTU值。同时,还介绍了无线加密的设置方法。最后,将外网线连在路由器的WAN口即可使用。 ... [详细]
  • 本文讨论了前端工程化的准备工作,主要包括性能优化、安全防护和监控等方面需要注意的事项。通过系统的答案,帮助前端开发者更好地进行工程化的准备工作,提升网站的性能、安全性和监控能力。 ... [详细]
  • Java String与StringBuffer的区别及其应用场景
    本文主要介绍了Java中String和StringBuffer的区别,String是不可变的,而StringBuffer是可变的。StringBuffer在进行字符串处理时不生成新的对象,内存使用上要优于String类。因此,在需要频繁对字符串进行修改的情况下,使用StringBuffer更加适合。同时,文章还介绍了String和StringBuffer的应用场景。 ... [详细]
  • MyBatis错题分析解析及注意事项
    本文对MyBatis的错题进行了分析和解析,同时介绍了使用MyBatis时需要注意的一些事项,如resultMap的使用、SqlSession和SqlSessionFactory的获取方式、动态SQL中的else元素和when元素的使用、resource属性和url属性的配置方式、typeAliases的使用方法等。同时还指出了在属性名与查询字段名不一致时需要使用resultMap进行结果映射,而不能使用resultType。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 如何修改路由器密码?路由器登录密码和无线密码的修改方法
    本文介绍了修改路由器密码的两种方法:一是修改路由器登录口令,需要进入路由器后台进行操作;二是修改无线连接密码,通过进入路由器后台的无线设置和无线安全设置进行修改。详细步骤包括复位处理、登录路由器后台、选择系统工具、填入用户名和用户密码、保存修改等。 ... [详细]
  • 本文介绍了2019年上半年内蒙古计算机软考考试的报名通知和考试时间。考试报名时间为3月1日至3月23日,考试时间为2019年5月25日。考试分为高级、中级和初级三个级别,涵盖了多个专业资格。报名采取网上报名和网上缴费的方式进行,报考人员可登录内蒙古人事考试信息网进行报名。详细内容请点击查看。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
author-avatar
彬彬521521
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有