微信PC端多开的秘密
微信电脑端也能多开 昨天,偶然从好朋友小林(微信公众号:小林Coding)处得知,他的电脑居然可以同时上两个微信号。 手机端多开微信我知道,像华为、小米等手机系统都对此做了支持,不过在运行Windows系统的电脑上怎么启动两个微信呢,这倒是一下引起了我的好奇。 小林告诉我他是这样做的,写了一个批处理: start D:\WeChat\WeChat.exe start D:\WeChat\WeChat.exe 然后直接双击批处理文件,就能启动两个微信进程。 我试了一下,果然如此! 随后我又加了一行,竟然还能启动3个: 接着我在网络上搜了一下,原来这一招早就被人用过了,看来是我火星了。不过到底为什么用这种方式就能多开,我倒是很想知道这个迷底。 TIPS:如果对技术分析部分不感兴趣,可以跳过直接来到后面的真相部分。 微信的单例模式 正常情况下,直接手动双击微信图标启动,后面启动的进程会进行全局单例模式检查,如果发现已经存在微信进程,就会直接把对应进程的微信窗口激活,定位到桌面最前面,随后自己退出。 但为什么用上面的方式就能启动俩呢?我们来一探究竟。 首先,分析一下上面描述的微信单个实例是如何实现的。 做过Windows平台应用程序开发的朋友可能对此比较熟悉,一般是进程启动后创建一个全局唯一名字的互斥体,创建成功则正常启动,创建失败则判断一下是否这个互斥体已经存在