用python实现微信、钉钉等软件多开

我发现坛友分享的很多都是通过cmd 去start 多个微信
虽然能实现多开,但不够灵活,比如我上午登录了一个微信,下午在登录就不太好用了
当然也可能是我start的姿势不对。于是我就搜了下单实例原理,自己动手实现了个随用随开的。目前很多软件都限制单实例,大多数软件都是用Mutex来实现的
而这个东西咱们可以用handle去干掉它,并且不影响使用。
钉钉也是一样的步骤 不过Mutex的名字不一样
我测试的钉钉的是:

“\Sessions\1\BaseNamedObjects{{239B7D43-86D5-4E5C-ADE6-CEC42155B475}}DingTalk”

干货主要有:

① 200 多本 Python 电子书(和经典的书籍)应该有

② Python标准库资料(最全中文版)

③ 项目源码(四五十个有趣且可靠的练手项目及源码)

④ Python基础入门、爬虫、网络开发、大数据分析方面的视频(适合小白学习)

⑤ Python学习路线图(告别不入流的学习)

Python学习Q群101677771

这里要借助微软的两个软件 分别是:procexp handle
接下来开始正文:
首先咱们要手动判断下Mutex是哪个。
这就要用到procexp.exe了 以管理员身份运行该程序。
选中微信进程 按Ctrl+L 就会出现图中下半部分。

在软件中我们可以找type 是Mutant 的 然后右键有个关闭 一个一个试 这里我已经试过了就不演示了 直接给大家

name
\Sessions\1\BaseNamedObjects\WeChat_GlobalConfig_Multi_Process_Mutex

到这一步之后 这个工具的使命就完成了!接下来该使用handle了
在cmd 输入下面的代码

<span class="hljs-attribute">handle -a -u -p <span class="hljs-number">12668 <span class="hljs-string">"\Sessions\1\BaseNamedObjects\WeChat_GlobalConfig_Multi_Process_Mutex"</span></span></span>

然后我们在去关闭下这个句柄就可以了

<span class="hljs-string">handle <span class="hljs-string">-p <span class="hljs-number">12668 <span class="hljs-string">-c <span class="hljs-number">460 <span class="hljs-string">-y</span></span></span></span></span></span>

注意:这句代码需要管理员权限
然后我们再去打开微信就可以了。
下面我们用python去实现下
代码可能和分析不太一样 因为

“\Sessions\1\BaseNamedObjects\WeChat_GlobalConfig_Multi_Process_Mutex”

中的1 有时候会变成其他数字,所以我用了匹配规则
把代码和handle.exe 放在一个目录下

<span class="hljs-keyword">import os
<span class="hljs-keyword">import re
<span class="hljs-keyword">import psutil

<span class="hljs-function"><span class="hljs-keyword">def <span class="hljs-title">get_pid<span class="hljs-params">(name):
    <span class="hljs-string">"""
    &#x83B7;&#x53D6;&#x6240;&#x6709;&#x7684;&#x5FAE;&#x4FE1;&#x8FDB;&#x7A0B;
"""
    process_list = psutil.pids()
    pids = []
    <span class="hljs-keyword">for pid <span class="hljs-keyword">in process_list:
        <span class="hljs-keyword">if psutil.Process(pid).name() == name:
            pids.append(pid)
    <span class="hljs-keyword">return pids

<span class="hljs-function"><span class="hljs-keyword">def <span class="hljs-title">more_open<span class="hljs-params">(path):
    pids = get_pid(<span class="hljs-string">"WeChat.exe")
    <span class="hljs-keyword">for pid <span class="hljs-keyword">in pids:
        </span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>

Original: https://www.cnblogs.com/sn5200/p/15886332.html
Author: Python可乐的呀
Title: 用python实现微信、钉钉等软件多开

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/814978/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球