吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2494|回复: 38
收起左侧

[Windows] Python实现微信等应用多开工具v1.0

  [复制链接]
hhs 发表于 2025-3-4 15:53
本帖最后由 hhs 于 2025-3-7 17:20 编辑

【应用多开启动器 V1.0】


功能介绍:
一款简洁实用的Windows应用多开工具,别支持微信多开!告别切换账号的烦恼,轻松管理多个应用实例。
不做别的用处,只是来学习
868f7f92722038bf09f853ee025e5e5.png

用到的库:


pip install pyinstaller
pip install pywin32


✨ 主要特性:
支持微信等应用的多开功能
简洁美观的图形界面
便捷的应用管理(添加/编辑/删除)
支持应用快速搜索
支持应用分类管理
右键快捷菜单操作


使用方法:
点击"添加应用",输入应用名称和路径
选择需要启动的应用,点击"启动实例"
支持双击编辑应用信息
可通过搜索框快速查找应用

特别说明:
完全免费开源
界面清爽,操作简单
支持文件拖放,快速添加应用
配置数据本地保存,重启不丢失
ac405fa114f3302f4e737297e8d55b2.png




百度网盘:https://pan.baidu.com/s/1ib0-QU30ElFI9lCX7M_eOQ
提取码: 6666





免费评分

参与人数 4吾爱币 +3 热心值 +4 收起 理由
nndyky + 1 + 1 鼓励转贴优秀软件安全工具和文档!
sw99227 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
yanglinman + 1 谢谢@Thanks!
walykyy + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| hhs 发表于 2025-3-4 15:54
源码奉上
[Python] 纯文本查看 复制代码
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
056
057
058
059
060
061
062
063
064
065
066
067
068
069
070
071
072
073
074
075
076
077
078
079
080
081
082
083
084
085
086
087
088
089
090
091
092
093
094
095
096
097
098
099
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
import tkinter as tk
from tkinter import ttk, messagebox, filedialog
import subprocess
import json
import os
from pathlib import Path
import win32event
import win32process
import win32con
import win32api
import sys
 
class AppLauncher:
    def __init__(self):
        self.root = tk.Tk()
        self.root.title("应用多开启动器--*制作,python学习")
        self.root.geometry("450x500")
         
        # 设置窗口图标
        icon_path = self.create_program_icon()
        self.root.iconbitmap(icon_path)
        self.root.iconbitmap(icon_path)
         
        # 设置主题颜色
        self.style = ttk.Style()
        self.style.configure("Custom.TFrame", background="#f0f0ff")
        self.style.configure("Custom.TButton",
                           padding=5,
                           background="#e6e6fa",
                           font=("微软雅黑", 9))
        self.style.configure("Custom.TLabel",
                           font=("微软雅黑", 9),
                           foreground="#483d8b")
        self.style.configure("Custom.Treeview",
                           background="#ffffff",
                           fieldbackground="#ffffff",
                           font=("微软雅黑", 9))
        self.style.configure("Custom.Treeview.Heading",
                           font=("微软雅黑", 9, "bold"),
                           foreground="#483d8b")
         
        # 保存应用配置的文件
        self.config_file = "app_config.json"
        self.apps = self.load_config()
        self.mutex_handles = {}  # 保存互斥体句柄
         
        self.create_widgets()
         
    def load_config(self):
        if os.path.exists(self.config_file):
            with open(self.config_file, 'r', encoding='utf-8') as f:
                return json.load(f)
        return {
            "微信": {
                "path": r"C:\Program Files (x86)\Tencent\WeChat\WeChat.exe",
                "type": "wechat"
            },
            "QQ": {
                "path": r"C:\Program Files (x86)\Tencent\QQ\Bin\QQ.exe",
                "type": "normal"
            }
        }
     
    def save_config(self):
        with open(self.config_file, 'w', encoding='utf-8') as f:
            json.dump(self.apps, f, ensure_ascii=False, indent=4)
     
    def create_widgets(self):
        # 创建主框架
        main_frame = ttk.Frame(self.root, padding="10", style="Custom.TFrame")
        main_frame.grid(row=0, column=0, sticky=(tk.W, tk.E, tk.N, tk.S))
         
        # 应用列表标题
        title_label = ttk.Label(main_frame,
                              text="✨ 应用多开启动器 ✨",
                              style="Custom.TLabel",
                              font=("微软雅黑", 14, "bold"))
        title_label.grid(row=0, column=0, columnspan=2, pady=(0, 10))
         
        # 应用列表
        ttk.Label(main_frame, text="📱 已配置的应用:", style="Custom.TLabel").grid(row=1, column=0, sticky=tk.W)
         
        # 创建Treeview来显示应用列表
        self.tree = ttk.Treeview(main_frame, columns=('路径',), height=10, style="Custom.Treeview")
        self.tree.heading('#0', text='📋 应用名称')
        self.tree.heading('路径', text='📂 应用路径')
        self.tree.grid(row=2, column=0, columnspan=2, sticky=(tk.W, tk.E))
         
        # 添加双击事件绑定
        self.tree.bind('<Double-1>', self.on_double_click)
         
        # 更新应用列表
        self.update_app_list()
         
        # 添加分类选择
        category_frame = ttk.Frame(main_frame, style="Custom.TFrame")
        category_frame.grid(row=0, column=0, columnspan=2, sticky=(tk.W, tk.E), pady=(0,5))
        ttk.Label(category_frame, text="&#128209; 分类:", style="Custom.TLabel").pack(side=tk.LEFT)
        categories = ["全部", "聊天工具", "办公软件", "游戏", "其他"]
        self.category_var = tk.StringVar(value="全部")
        for cat in categories:
            ttk.Radiobutton(category_frame,
                           text=cat,
                           value=cat,
                           variable=self.category_var,
                           command=self.filter_by_category,
                           style="Custom.TRadiobutton").pack(side=tk.LEFT, padx=5)
         
        # 添加应用的输入框和浏览按钮
        name_frame = ttk.Frame(main_frame, style="Custom.TFrame")
        name_frame.grid(row=3, column=0, columnspan=2, sticky=(tk.W, tk.E), pady=(10,0))
        ttk.Label(name_frame, text="&#9999;&#65039; 应用名称:", style="Custom.TLabel").pack(side=tk.LEFT)
        self.app_name = ttk.Entry(name_frame)
        self.app_name.pack(side=tk.LEFT, fill=tk.X, expand=True, padx=(5,0))
         
        path_frame = ttk.Frame(main_frame, style="Custom.TFrame")
        path_frame.grid(row=4, column=0, columnspan=2, sticky=(tk.W, tk.E))
        ttk.Label(path_frame, text="&#128193; 应用路径:", style="Custom.TLabel").pack(side=tk.LEFT)
        self.app_path = ttk.Entry(path_frame)
        self.app_path.pack(side=tk.LEFT, fill=tk.X, expand=True, padx=(5,0))
        ttk.Button(path_frame,
                   text="浏览",
                   command=self.browse_file,
                   style="Custom.TButton").pack(side=tk.LEFT, padx=(5,0))
         
        # 按钮框架
        button_frame = ttk.Frame(main_frame, style="Custom.TFrame")
        button_frame.grid(row=5, column=0, columnspan=2, pady=10)
         
        # 添加带图标的按钮
        ttk.Button(button_frame, text="&#10133; 添加应用", command=self.add_app, style="Custom.TButton").pack(side=tk.LEFT, padx=5)
        ttk.Button(button_frame, text="&#9999;&#65039; 编辑应用", command=self.edit_app, style="Custom.TButton").pack(side=tk.LEFT, padx=5)
        ttk.Button(button_frame, text="&#10060; 删除应用", command=self.remove_app, style="Custom.TButton").pack(side=tk.LEFT, padx=5)
        ttk.Button(button_frame, text="&#9654;&#65039; 启动实例", command=self.launch_instance, style="Custom.TButton").pack(side=tk.LEFT, padx=5)
         
        # 设置窗口背景色
        self.root.configure(bg="#f0f0ff")
         
        # 添加状态栏
        status_frame = ttk.Frame(self.root, style="Custom.TFrame")
        status_frame.grid(row=1, column=0, sticky=(tk.W, tk.E))
        ttk.Label(status_frame,
                 text="&#128161; 提示:双击应用可以快速编辑",
                 style="Custom.TLabel").pack(side=tk.LEFT, padx=10)
         
        # 添加右键菜单
        self.context_menu = tk.Menu(self.root, tearoff=0)
        self.context_menu.add_command(label="&#9999;&#65039; 编辑", command=self.edit_app)
        self.context_menu.add_command(label="&#10060; 删除", command=self.remove_app)
        self.context_menu.add_separator()
        self.context_menu.add_command(label="&#9654;&#65039; 启动", command=self.launch_instance)
         
        self.tree.bind("<Button-3>", self.show_context_menu)
         
        # 添加搜索框
        search_frame = ttk.Frame(main_frame, style="Custom.TFrame")
        search_frame.grid(row=1, column=0, columnspan=2, sticky=(tk.W, tk.E), pady=(0,5))
        ttk.Label(search_frame, text="&#128269; 搜索:", style="Custom.TLabel").pack(side=tk.LEFT)
        self.search_var = tk.StringVar()
        self.search_var.trace('w', self.filter_apps)
        search_entry = ttk.Entry(search_frame, textvariable=self.search_var)
        search_entry.pack(side=tk.LEFT, fill=tk.X, expand=True, padx=(5,0))
     
    def update_app_list(self):
        for item in self.tree.get_children():
            self.tree.delete(item)
        for app_name, app_info in self.apps.items():
            path = app_info["path"] if isinstance(app_info, dict) else app_info
            self.tree.insert('', 'end', text=app_name, values=(path,))
     
    def add_app(self):
        name = self.app_name.get().strip()
        path = self.app_path.get().strip()
         
        if not name or not path:
            messagebox.showerror("错误", "应用名称和路径不能为空!")
            return
             
        if not os.path.exists(path):
            messagebox.showerror("错误", "应用路径不存在!")
            return
         
        # 检测是否为微信
        if "WeChat.exe" in path:
            self.apps[name] = {
                "path": path,
                "type": "wechat"
            }
        else:
            self.apps[name] = {
                "path": path,
                "type": "normal"
            }
             
        self.save_config()
        self.update_app_list()
        self.app_name.delete(0, tk.END)
        self.app_path.delete(0, tk.END)
     
    def remove_app(self):
        selected = self.tree.selection()
        if not selected:
            messagebox.showerror("错误", "请先选择要删除的应用!")
            return
             
        app_name = self.tree.item(selected[0])['text']
        if app_name in self.apps:
            del self.apps[app_name]
            self.save_config()
            self.update_app_list()
     
    def launch_instance(self):
        selected = self.tree.selection()
        if not selected:
            messagebox.showerror("错误", "请先选择要启动的应用!")
            return
             
        app_name = self.tree.item(selected[0])['text']
        app_info = self.apps[app_name]
         
        if isinstance(app_info, str):  # 兼容旧版配置
            app_path = app_info
            app_type = "normal"
        else:
            app_path = app_info["path"]
            app_type = app_info["type"]
 
        try:
            if app_type == "wechat":
                self.launch_wechat(app_path)
            else:
                subprocess.Popen([app_path])
            messagebox.showinfo("成功", f"已启动 {app_name} 的新实例!")
        except Exception as e:
            messagebox.showerror("错误", f"启动失败:{str(e)}")
     
    def launch_wechat(self, wechat_path):
        # 微信互斥体名称前缀
        mutex_prefix = "_WeChat_App_Instance_Identity_Mutex_Name"
         
        # 生成新的互斥体名称
        instance_id = len(self.mutex_handles) + 1
        mutex_name = f"{mutex_prefix}_{instance_id}"
         
        try:
            # 创建互斥体
            mutex = win32event.CreateMutex(None, False, mutex_name)
            self.mutex_handles[instance_id] = mutex
             
            # 启动微信进程
            si = win32process.STARTUPINFO()
            si.dwFlags = win32process.STARTF_USESHOWWINDOW
            si.wShowWindow = win32con.SW_NORMAL
             
            # 使用特定的命令行参数启动微信
            command = f'"{wechat_path}" "-mutex:{mutex_name}"'
            process_info = win32process.CreateProcess(
                None,
                command,
                None,
                None,
                False,
                win32process.CREATE_NEW_CONSOLE,
                None,
                None,
                si
            )
             
        except Exception as e:
            if mutex in self.mutex_handles.values():
                win32api.CloseHandle(mutex)
            raise Exception(f"启动微信失败: {str(e)}")
     
    def on_double_click(self, event):
        self.edit_app()
         
    def edit_app(self):
        selected = self.tree.selection()
        if not selected:
            messagebox.showerror("错误", "请先选择要编辑的应用!")
            return
             
        app_name = self.tree.item(selected[0])['text']
        app_info = self.apps[app_name]
         
        # 创建编辑窗口
        edit_window = tk.Toplevel(self.root)
        edit_window.title("编辑应用")
        edit_window.geometry("400x150")
        edit_window.resizable(False, False)
         
        # 使编辑窗口模态
        edit_window.transient(self.root)
        edit_window.grab_set()
         
        # 设置编辑窗口样式
        edit_window.configure(bg="#f0f0ff")
        edit_frame = ttk.Frame(edit_window, padding="10", style="Custom.TFrame")
        edit_frame.grid(row=0, column=0, sticky=(tk.W, tk.E, tk.N, tk.S))
         
        # 应用名称输入
        ttk.Label(edit_frame, text="应用名称:").grid(row=0, column=0, sticky=tk.W)
        name_entry = ttk.Entry(edit_frame)
        name_entry.insert(0, app_name)
        name_entry.grid(row=0, column=1, sticky=(tk.W, tk.E), padx=5, pady=5)
         
        # 应用路径输入
        ttk.Label(edit_frame, text="应用路径:").grid(row=1, column=0, sticky=tk.W)
        path_entry = ttk.Entry(edit_frame)
        path_entry.insert(0, app_info["path"] if isinstance(app_info, dict) else app_info)
        path_entry.grid(row=1, column=1, sticky=(tk.W, tk.E), padx=5, pady=5)
         
        def save_changes():
            new_name = name_entry.get().strip()
            new_path = path_entry.get().strip()
             
            if not new_name or not new_path:
                messagebox.showerror("错误", "应用名称和路径不能为空!", parent=edit_window)
                return
                 
            if not os.path.exists(new_path):
                messagebox.showerror("错误", "应用路径不存在!", parent=edit_window)
                return
                 
            # 如果名称改变了,需要删除旧的并添加新的
            if new_name != app_name:
                del self.apps[app_name]
             
            if "WeChat.exe" in new_path:
                self.apps[new_name] = {
                    "path": new_path,
                    "type": "wechat"
                }
            else:
                self.apps[new_name] = {
                    "path": new_path,
                    "type": "normal"
                }
             
            self.save_config()
            self.update_app_list()
            edit_window.destroy()
             
        # 创建按钮框架
        button_frame = ttk.Frame(edit_frame)
        button_frame.grid(row=2, column=0, columnspan=2, pady=10)
         
        # 美化按钮
        ttk.Button(button_frame,
                   text="&#128190; 保存",
                   command=save_changes,
                   style="Custom.TButton").pack(side=tk.LEFT, padx=5)
        ttk.Button(button_frame,
                   text="&#10060; 取消",
                   command=edit_window.destroy,
                   style="Custom.TButton").pack(side=tk.LEFT, padx=5)
         
        # 设置列权重
        edit_frame.columnconfigure(1, weight=1)
     
    def __del__(self):
        # 清理互斥体句柄
        for mutex in self.mutex_handles.values():
            try:
                win32api.CloseHandle(mutex)
            except:
                pass
     
    def run(self):
        self.root.mainloop()
 
    def create_program_icon(self):
        # 创建一个可爱的图标
        icon_data = """
        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
        """
         
        import base64
        import tempfile
         
        # 保存图标到临时文件
        icon_data_decoded = base64.b64decode(icon_data)
        temp_file = tempfile.NamedTemporaryFile(suffix='.ico', delete=False)
        temp_file.write(icon_data_decoded)
        temp_file.close()
         
        return temp_file.name
 
    def browse_file(self):
        filename = filedialog.askopenfilename(
            title="选择应用程序",
            filetypes=[("可执行文件", "*.exe"), ("所有文件", "*.*")]
        )
        if filename:
            self.app_path.delete(0, tk.END)
            self.app_path.insert(0, filename)
 
    def show_context_menu(self, event):
        if self.tree.selection():  # 只在选中项目时显示
            self.context_menu.post(event.x_root, event.y_root)
 
    def filter_apps(self, *args):
        search_text = self.search_var.get().lower()
        self.tree.delete(*self.tree.get_children())
        for app_name, app_info in self.apps.items():
            if search_text in app_name.lower():
                path = app_info["path"] if isinstance(app_info, dict) else app_info
                self.tree.insert('', 'end', text=app_name, values=(path,))
 
    def filter_by_category(self):
        # Implementation of filter_by_category method
        pass
 
if __name__ == "__main__":
    app = AppLauncher()
    app.run()

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
灰灰辉辉 + 1 + 1 用心讨论,共获提升!

查看全部评分

 楼主| hhs 发表于 2025-3-4 15:56
微信可以多开
别的多开思路估计不一样,写着玩玩的 不喜勿喷
czshaobo 发表于 2025-3-4 16:00
 楼主| hhs 发表于 2025-3-4 16:01

谢谢支持!
walykyy 发表于 2025-3-4 16:09
写的不错,刚才我把游戏多开了试了一下,确实可以
kw1214 发表于 2025-3-4 16:16
能换个网盘吗?百度太那个了。
sun1630 发表于 2025-3-4 16:27
谢谢分享
 楼主| hhs 发表于 2025-3-4 16:28
kw1214 发表于 2025-3-4 16:16
能换个网盘吗?百度太那个了。

我很多程序都在那里..呜呜
懂得人生 发表于 2025-3-4 16:30
代码有了,怎么生成软件?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-4-17 04:50

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表