吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 497|回复: 3
上一主题 下一主题
收起左侧

[其他原创] 多窗口同步器无法生成使用

[复制链接]
跳转到指定楼层
楼主
zhoupeng79 发表于 2026-4-28 13:38 回帖奖励
请大神帮我看看,到底是哪个地方有问题,这个自创的窗口同步器,无法同步,也无法找到游戏窗口,谢谢大神

import sys
import time
import threading
import tkinter as tk
from tkinter import messagebox, ttk
import win32gui
import win32con
import win32api
from pynput import keyboard

class WindowSyncer:
    def __init__(self):
        self.master_hwnd = None
        self.slave_hwnds = []
        self.is_listening = False
        self.listener = None
        self.sync_keys = set()  # 需要同步的按键集合,例如 {'a', 'b', 'space'}
        self.key_map = {}       # 映射 pynput key 到 virtual key code
        
        # 初始化 Tkinter GUI
        self.root = tk.Tk()
        self.root.title("多窗口键鼠同步器 (Python版)")
        self.root.geometry("600x400")
        self.root.resizable(False, False)
        
        # 样式配置
        style = ttk.Style()
        style.theme_use('clam')
        
        self.setup_ui()
        
    def setup_ui(self):
        # 顶部框架:主控窗口设置
        frame_master = ttk.LabelFrame(self.root, text="主控窗口设置", padding=10)
        frame_master.pack(fill="x", padx=10, pady=5)
        
        self.lbl_master = ttk.Label(frame_master, text="未选择主控窗口")
        self.lbl_master.pack(side="left", padx=5)
        
        btn_set_master = ttk.Button(frame_master, text="点击此处并切换至目标窗口 (3秒后绑定)", command=self.set_master_window_delayed)
        btn_set_master.pack(side="right", padx=5)
        
        # 中部框架:被控窗口列表
        frame_slaves = ttk.LabelFrame(self.root, text="被控窗口列表", padding=10)
        frame_slaves.pack(fill="both", expand=True, padx=10, pady=5)
        
        self.listbox_slaves = tk.Listbox(frame_slaves, selectmode=tk.MULTIPLE)
        scrollbar = ttk.Scrollbar(frame_slaves, orient="vertical", command=self.listbox_slaves.yview)
        self.listbox_slaves.configure(yscrollcommand=scrollbar.set)
        
        self.listbox_slaves.pack(side="left", fill="both", expand=True)
        scrollbar.pack(side="right", fill="y")
        
        btn_add_slave = ttk.Button(frame_slaves, text="添加选中窗口为被控 (3秒后绑定)", command=self.add_slave_window_delayed)
        btn_add_slave.pack(fill="x", pady=5)
        
        btn_remove_slave = ttk.Button(frame_slaves, text="移除选中被控窗口", command=self.remove_selected_slaves)
        btn_remove_slave.pack(fill="x", pady=5)
        
        # 底部框架:同步设置与控制
        frame_control = ttk.Frame(self.root, padding=10)
        frame_control.pack(fill="x", padx=10, pady=5)
        
        ttk.Label(frame_control, text="同步按键 (逗号分隔, 如: a,b,space,enter):").pack(anchor="w")
        se

免费评分

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

查看全部评分

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

沙发
zmzm123 发表于 2026-4-28 14:01
感谢大佬分享,同样的问题也想请教
3#
zhang889988 发表于 2026-4-28 14:50
4#
 楼主| zhoupeng79 发表于 2026-4-29 09:16 |楼主
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2026-4-29 10:43

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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