在正常工作中,为了方便工作方便,区分生活和工作。会涉及到多个微信账号,但是正常情况下微信在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( )
测试功能如下