偶然看到有的同学登录PC的QQ,发现他有很多QQ,每登录一个要切换一个,虽然记住了密码,但还是不方便,于是想通过批处理来实现“一键登录”的功能。以下内容为作者的假想,如有雷同,实属巧合!

具体的实现步骤如下:

(1)首先,查看QQ安装时的文档位置(用于保存用户登录历史记录),我的是:C:\Users\David\Documents\TencentFiles\All Users\QQ;如图1所示:

图1 数据信息所在目录

(2)目录下有三个后缀名为db的文件:

History.db是一个存放所有历史登录记录的表,该表是有序的,第一个记录就是客户端最近一次登录的QQ用户;

Perfre.db则是实际登录的QQ用户,每次打开客户端,都会从History.db中取出第一个记录(即第一个QQ用户)存入Perfre.db并登录,里面保存的是一个用户的信息;

Registry.db保存的应该就是Perfre.db中保存的登录用户的信息,包括QQ头像,登录设置(代理,端口号,自定义图像和好友列表等用户信息),如下图所示:

                       

图2 登录客户端

图3 设置信息窗口

(3)三者的执行顺序简介:在启动QQ.exe应用程序的时候,首先就是加载History.db文件,于是在客户端可以看到我们之前在本地PC所登录的所有历史记录;其次,动态创建Perfre.db文件,从History.db文件取出第一个QQ用户记录信息,保存在Perfre.db文件中;Registry.db文件也是动态生成的,它根据Perfre.db文件中的用户唯一标识符,在Misc文件夹(图1所示)下找到此用户的代理,端口号,自定义图像和好友列表等用户信息,最后登录,后面还要检验密码什么的就不在本博文的研究范围内了。

(4)既然这样,我们就可以写一个bat批处理脚本来实现多个QQ用户同时登录了,当然,这也是一个一劳永逸的办法,刚开始比较麻烦一点。

1)       在"C:\Users\David\Documents\TencentFiles\All Users\QQ "文件夹(这里每个人的文件夹可能不一样)分别创建文件夹1、2、3、……(要登录几个QQ就创建几个);

2)       登录第一个QQ,输入账号密码,勾选自动登录。登录成功后,将History.db文件剪切到文件夹1;

3)       登录第二个QQ,同上,将History.db文件剪切到文件夹2,依次类推,直到所有登录的QQ所创建的History.db文件都备份好;

4)       在任何地方创建一个QQlogin.bat批处理文件,该脚本代码如下:

del "C:\Users\David\Documents\Tencent Files\All Users\QQ\History.db"
copy "C:\Users\David\Documents\Tencent Files\All Users\QQ\1\History.db" "C:\Users\David\Documents\Tencent Files\All Users\QQ\History.db"start D:\Progra~1\Tencent\QQ\Bin\qq.exe
ping 127.0.0.1 -n 7del "C:\Users\David\Documents\Tencent Files\All Users\QQ\History.db"
copy "C:\Users\David\Documents\Tencent Files\All Users\QQ\2\History.db" "C:\Users\David\Documents\Tencent Files\All Users\QQ\History.db"start D:\Progra~1\Tencent\QQ\Bin\qq.exe
ping 127.0.0.1 -n 7del "C:\Users\David\Documents\Tencent Files\All Users\QQ\History.db"
copy "C:\Users\David\Documents\Tencent Files\All Users\QQ\3\History.db" "C:\Users\David\Documents\Tencent Files\All Users\QQ\History.db"
start D:\Progra~1\Tencent\QQ\Bin\qq.exe
ping 127.0.0.1 -n 7del /q History.db
cls

根据你的QQ所在目录修改批处理文件中的对应目录,有几个QQ同时登录就有几段代码,修改对应的文件夹即可,比如我实验的是3个,所以就有三段代码;“ping 127.0.0.1 -n 7”代码后面的7表示几秒,可能需要做调整,避免瞬间同时登录导致History.db文件没来得及复制发生错误;

5)       这里已经是完成了原先的目的,但是有一点不足之处就是运行的时候会弹出CMD的黑色窗口;我在这里做个小小的改进,让窗口在后台进行,原有的QQlogin.bat批处理文件不需要做任何修改,仅需要创建一个go.vbs的文件(QQlogin.bat和go.vbs在同一个目录下),文件代码为:

Set shell = Wscript.createobject("wscript.shell")a = shell.run ("C:\Users\David\Desktop\QQlogin.bat",0) 

这里也需要修改对于那个的bat路径;

双击运行go.vbs文件,即可实现多个QQ同时登录;要是你不想双击,也可以采用快捷键,创建一个go.vbs文件的快捷方式(放在桌面上或者附加到开始菜单),则直接使用快捷键(我的是Ctrl+Alt+K)就可以了,例子如下图4:

图4 快捷键修改

注:

1在批处理文件中只需要操作History.db文件的原因是,另外两个文件是基于History.db文件动态生成的,因此不用全部操作。

2博文最后提到的快接键方式运行,由于vbs是一个脚本文件,无法附加到开始菜单,作者没有仔细研究。

3批处理文件中每个QQ都附加一段代码显得代码量繁琐,可以使用类似for循环或者while循环的方式,留给读者搞定。

本文版权归作者和CSDN所有,欢迎转载,转载请注明出处:http://blog.csdn.net/thebestdavid/article/details/21946555

批处理文件——多个QQ一键登录相关推荐

  1. php获取qzonetoken,QQ一键登录实现

    首先,登录QQ互联平台获取QQ一键登录所需的Appkey和Appsecret. 2.下载QQ登录用的SDK软件包,可以上QQ互联官方网下载.这里用的是Connect_PHP_SDK_for_OAuth ...

  2. laravel实现第三方qq一键登录

    首先composer安装依赖: composer require socialiteproviders/qq复制代码 注册服务提供者(同时注释掉原有的Socialite提供者): 'providers ...

  3. selenium实现模拟点击QQ一键登录

    涉及到知识点: Xpath frame切换 分析 以彼岸桌面壁纸为例,爬取很多原图时需要用户登录(花钱才可以下载诸多原图,普通用户只可以一天只可以下载一次原图,在这里使用QQ一键登录全当练练手). 以 ...

  4. Android webview实现QQ一键登录授权

    Android webview实现QQ一键登录授权 最近公司要求的新需求,要实现webview中的的QQ登录,大脑没经过就习惯的百度,奈何找了两天的资料也没发现个完整的demo,只能自己写,好吧,还要 ...

  5. QQ一键登录助手_DedeCMS插件_适合FOR V55 V56 V57_GBK.zip

    QQ一键登录助手_DedeCMS插件_适合FOR V55 V56 V57_GBK.zip 此插件是方便会员进行注册登录操作,为 站长 带来更多活跃会员 使用此插件要注意一下几点: 1.此插件使用前请到 ...

  6. uniapp中调用QQ一键登录实现方法

    要在uniapp中实现QQ一键登录,主要步骤: 1.manifest.json的模块设置中,启用QQ登录,并填入appid 3.新建登录页 <template><view>正在 ...

  7. 织梦DEDECMS QQ一键登录插件返回空白解决方法

    修改织梦网站时,遇到个QQ一键登录返回是空白的问题 找了好久没发现什么原因,最后才知道原因在于服务器, 因为腾讯OAuth2.0采用的是https协议进行数据请求,QQ一键登录插件采用curl拓展对数 ...

  8. php 一键登录插件,[免费]ZblogPHP QQ一键登录免费插件

    先上背景:自从装了ZBlogPHP程序,一直在寻找QQ互联的插件,因为我懒得记密码!!!因为懒...所以就在某应用中心搜索,工夫不负有心人,找是找到了,,但是,,,但是价格不菲啊!!! ,,,作为一个 ...

  9. 微信qq一键登录php代码6,Laravel6实现第三方 微信登录

    目前很多的网站中都会存在很多的交互功能,从而降低用户的操作难度,特此带来微信的第三方登录的项目实战功能开发.对于本实例中的开发内容,就不在使用原生的内容,而是直接使用别人写好的封装的类库. 1. 安装 ...

最新文章

  1. RPC 笔记(08)— socket 通信(多进程多线程服务器)
  2. springmvc不断输出文本到网页
  3. ubantu14.04下固定ip的配置方法以及问题处理
  4. PHP案例 网页计数器设计
  5. (转载) Java线程池原理
  6. oracle 替换全部空格
  7. Golang结构体与面向对象
  8. Vue系列(2):Vue 安装
  9. python后台——asyncio,多进程+asyncio
  10. C语言实现贪吃蛇[内附详细步骤]
  11. 4WRLE27Q3-600M-4X/MXY/24A1比例先导方向阀
  12. Vue 微信扫码支付
  13. SVN中clean up的含义
  14. openwrt热插拔HotPlug
  15. 关于连接数据库出现Connection failed: Access denied for user ‘root‘@‘localhost‘ (using password: YES)解决方案(最有用)
  16. Android 10 Settings应用二级菜单关于设备-Android版本中基带版本添加点击事件
  17. javascript案例26——求100以内所有7倍数之和
  18. 博客园公告栏增加每日一言功能
  19. html背景图片溢出,如何清除背景图片溢出?
  20. 【技术方案】如何基于高清摄像头设备,搭建慢直播平台?

热门文章

  1. crm组织服务中的xRM消息
  2. 虚拟现实制陶制作方法对中学生创造力和学习参与度的影响
  3. 在家也能健身(05):腹肌
  4. Android手机与PC端进行通信
  5. 数据分析之历史上的百年奥运
  6. 【计算机视觉】简述对RandLA-Net(大场景点云)的理解
  7. 我们能为别人留下什么?——纪念一位真正的兄长
  8. FVCOM离线拉格朗日配置
  9. DAX Calculate的使用说明
  10. Vue技术栈(全家桶)