次谐波 发表于 2023-12-28 18:57

发一个微信免扫码一键登录多个账号的脚本

本帖最后由 次谐波 于 2023-12-29 10:28 编辑

## 一、效果图
![效果图](https://picshack.net/ib/begn7pkqOQ.gif)
如果这也是你刚好需要的,请继续看下文。

## 二、起因
每次电脑开机需要登录2个微信,登第二个都需要扫码,糟心。
论坛里也有好几个解决方案,但用起来较麻烦,并不是我需要的。
免登的原理也不复杂,也没有啥高端操作,所以干脆自己整一个。

## 三、前期准备
- 需要先打上双开补丁,有现成的,自行食用
- 这里放一个(https://github.com/huiyadanli/RevokeMsgPatcher)


## 四、原理

- 微信扫码登入凭证缓存在 ...\WeChat Files\All Users\config 文件夹内;
- 里面有2个文件,ini和data文件,需要切换账号直接替换这两个文件就行了;

## 五、脚本代码
新建一个bat 文件将脚本复制进去就ok了,例如 wechat.bat 。
```
@echo off
chcp 65001 > nul

rem 干掉所有wechat进程,不需要可以注释
rem taskkill /f -im wechat.exe > nul

rem 开启延时变量
setlocal EnableDelayedExpansion

rem 判断BAT文件是否在WeChat Files\All Users下
if "%cd:~-9,-1%" neq "All User" (

    rem 弹窗提示
    msg * "请将脚本放在WeChat Files\All Users目录内

    rem 终止脚本
    exit
)

rem 获取的微信安装目录不正确,请手动指定下方第21行 WeChatPath 变量,并删除rem注释
rem set WeChatPath=D:\Program Files\Tencent\WeChat

rem 判断是否手动设置WeChatPath
if "%WeChatPath%" equ "" (
    rem 从注册表获取微信安装目录,如果获取的安装目录不正确,请手动指定下方第21行 WeChatPath 变量,并删除rem注释
    for /f "skip=1 delims=: tokens=1,*" %%i in ('REG QUERY "HKEY_CURRENT_USER\Software\Tencent\WeChat" /v "InstallPath"') do (
      
      set str=%%i
      set var=%%j

      set "var=!var:"=!"
      if not "!var:~-1!"=="=" set WeChatPath=!str:~-1!:!var!
    )
)


rem 安装目录WeChat.exe是否可访问
if not exist "%WeChatPath%\WeChat.exe" (

    rem 弹窗提示
    msg * "获取的安装目录不正确,请手动指定 第21行 WeChatPath 变量"

    rem 终止脚本
    exit
)


rem 模拟按键回车,不需要直接删除
    echo Set objShell = WScript.CreateObject("WScript.Shell") > login.vbs
    rem 延迟500ms,程序启动慢的话稍微延长点
    echo WScript.Sleep 500 >> login.vbs
    rem 模拟回车
    echo objShell.SendKeys "{ENTER}" >> login.vbs
rem 模拟按键回车,不需要直接删除

rem 遍历All Users下的文件夹
for /d %%i in ( * ) do (

    rem 获取目录名
    set ml2=%%i

    rem 过滤config文件夹
    if!ml2! neq config (

      rem 拷贝凭证文件
      xcopy "%cd%\!ml2!\" "%cd%\config\" /s /e /y > nul

                rem 这里可以延迟1秒,按实际运行情况调整
      rem choice /t 1 /d y /n > nul

      rem 打开微信
      start "" "%WeChatPath%\WeChat.exe"

      rem 模拟按键回车,不需要直接删除
            cscript login.vbs > nul
      rem 模拟按键回车,不需要直接删除

      rem 这里可以延迟1秒,按实际运行情况调整
      rem choice /t 1 /d y /n > nul
    )
)

rem 模拟按键回车,不需要直接删除
    del login.vbs
rem 模拟按键回车,不需要直接删除


```

## 六、食用方法
1 将脚本 wechat.bat 放到微信聊天记录文件夹目录下的 All Users 文件夹内,与 config 平级;
+ 例,我的是:D:\Program Files\Tencent\WeChat Files\All Users
+ 聊天记录文件夹在微信设置内可以看到

2 保存每个账号的登录凭证;
+ 删除 All Users 目录下config 文件夹,里面可能有几十个文件,直接删掉,方便后续拿到我们需要
+ 手动登录一个账号
+ 将 config 文件夹重命名,名字任意,一个 登入 凭证 就ok了
+ 需要登录几个账号,分别保存就行了
+ 如果登录凭证失效了,删除对应的文件夹,重新保存即可

![登录凭证示例](https://picshack.net/ib/7pe62SfDdG.png)
3 手机端的自动确认,嗯,有模块,自行解决;

4 愉快双击运行脚本,2个微信10S就登入完成了,摸鱼时间+60S;

## 七、关于运行bat的显示黑窗
- 貌似 start 运行exe 存在层级覆盖问题,在win11上面直接运行bat文件没有问题,其他版本不清楚,没测试
- 但是,通过cmd或者vbs运行脚本,第二个打开的微信会在第一个打开的微信下面,模拟 enter 按键操作就不能实现了,
- 可以删除相应模拟 enter 按键部分的代码,手动点击,或者用其他语言重写。

次谐波 发表于 2024-8-1 13:23

噺菂の天 发表于 2024-7-16 09:14
你好,我的W7操作后只显示扫描,不显示已登陆过的微信,还弹出一个网页版本,这个是否有解?

https://wwo.lanzn.com/i6n6T2659vji             rust写的exe版,含源码,自行杀毒

b71001339 发表于 2023-12-30 14:11

Taichiwah 发表于 2023-12-29 15:07
求分享!!

看大佬的评论,论坛翻了一下,找到好几个,果然还是论坛大佬多
微信多开-PC-匠石v2.4
https://www.52pojie.cn/forum.php?mod=viewthread&tid=1116681&highlight=%C3%E2%C9%A8

免扫码无视版微信电脑版多开
https://www.52pojie.cn/forum.php?mod=viewthread&tid=983065&highlight=%C3%E2%C9%A8

dajingang 发表于 2023-12-28 21:55

谢谢分享

熊猫咖啡 发表于 2023-12-28 22:11

暂时用不上,感谢大神

dyong 发表于 2023-12-28 22:26

感谢分享

yyzzy 发表于 2023-12-28 22:31

挺好的,感谢分享

lixiangliuyi 发表于 2023-12-28 22:34

每次登陆都要5秒等待。
弱智的脑残设计。。。。若不是客户都用傻逼才会用。。。

jlkk8 发表于 2023-12-28 22:58

谢谢分享

qumingyu286 发表于 2023-12-28 23:13

感谢分享,很实用~{:1_893:}

x虫子 发表于 2023-12-29 00:11

需要不需要另说,得支持鼓励{:1_893:}

耿梦莹123 发表于 2023-12-29 00:26

非常实用的
页: [1] 2 3 4 5 6 7 8
查看完整版本: 发一个微信免扫码一键登录多个账号的脚本