python自动获取微信安装路径,实现打开复数微信

 在正常工作中,为了方便工作方便,区分生活和工作。会涉及到多个微信账号,但是正常情况下微信在PC端是不支持登陆多个账号。本文主要介绍如何结局这个问题,使工作生活两不误。

本程序主要是些一个窗口,窗口用于同用户交互

本文主要使用的是python,程序脚本,其中getWxInstallPath函数用于自动获取微信安装脚本的功能。去掉用户自己获取复制微信安装路径的动作。kill函数实现关闭所有微信程序。Open函数实现真正的打开功能。

# -*- coding: utf-8 -*-
import wftools
import ctypes, time, signal, psutil, os
import tkinter as tk
import win32api
import win32con


def Open(num):
    soft_path = getWxInstallPath()
    wftools.open_soft(soft_path=soft_path, num=num)

# 结束进程模块
def kill( ):
    # 定义PID字典
    pid_dict = {}
    # 获取所有PID
    pids = psutil.pids( )
    for pid in pids:
        p = psutil.Process(pid)
        pid_dict[pid]=p.name( )
    for t in pid_dict.keys():
        if pid_dict[t] == "WeChat.exe":
            try:
                os.kill(t,signal.SIGABRT)
            except:
                while True:
                    try:
                        os.kill(t,signal.SIGABRT)
                        break
                    except:
                        continue

# 读取注册表找到微信的安装路径
def getWxInstallPath():
    try:
        # 注册表打开
        # RegOpenKey(key, subKey , reserved , sam)
        # key: HKEY_CLASSES_ROOT HKEY_CURRENT_USER HEKY_LOCAL_MACHINE HKEY_USERS HKEY_CURRENT_CONFIG
        # subkey: 要打开的子项
        # reserved: 必须为0
        # sam: 对打开的子项进行的操作,包括win32con.KEY_ALL_ACCESS、win32con.KEY_READ、win32con.KEY_WRITE等
        key = win32api.RegOpenKey(win32con.HKEY_CURRENT_USER, "SOFTWARE\Tencent\WeChat", 0, win32con.KEY_ALL_ACCESS) 
        # 这里的key表示键值,后面是具体的键名,读取出来是个tuple
        value = win32api.RegQueryValueEx(key, "InstallPath")[0]
        # 用完之后记得关闭
        win32api.RegCloseKey(key)
        # 微信的路径
        value += "\\" + "WeChat.exe"
        return value
    except Exception as ex:
        logWriter(str(ex))


# 1.实例化object,建立窗口
window = tk.Tk()
# 2.给窗口可视化title
window.title("微信多开")
# 3.设置图标
# window.iconbitmap('1.ico')
#4.设置窗口大小(窗口居中)
sw = window.winfo_screenwidth()
sh = window.winfo_screenheight( )
ww=300
wh=300
x=(sw- ww)/2
y=(sh - wh)/2
window.geometry("%dx%d+%d+%d" % (ww,wh,x,y))
#锁定大小
window.maxsize(400,200)
window.minsize(400,200)
# 设置Label标签
lab = tk.Label(window, text='多开微信个数', font=('', 14)).place(x=130,y=15)
# 设置text文本框标签
text = tk.Entry(window,text="2", font=14,textvariable="text" )
text.pack( )
# 改变text文本框位置
text.place(x=170,y=40,width=50,height=30)

# 俩按钮执行函数
def Open_Wechat( ):
    # 给上面For循环的值,int型
    Open(int( text . get( )))
def Close_Windows( ):
    kill( )
 
# 俩按钮并设置位置
open_wechat = tk.Button(window,text='微信多开', bg="#EBFAA0", width=15, height=2, command=Open_Wechat).place(x=70, y=100)
window_close = tk.Button(window,text='关闭所有', bg="#A0FFFF", width=15, height=2, command=Close_Windows).place(x=220, y=100)
# 循环显示窗口
tk.mainloop( )

测试功能如下

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慕斯白狼

一个用心搞技术的路人

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值