吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4701|回复: 39
收起左侧

[原创工具] 屏幕窗口切换器

[复制链接]
Wbstc123123 发表于 2025-3-8 09:45
在生活中有好多朋友都有两块屏幕  但是这个时候就会有很多的问题产生  有的软件直接就是全屏无法选择 使用哪一块屏幕进行切换
这个时候我就很苦恼  所以这个时候就有一个软件出来了  名为屏幕窗口切换器 先上图

界面样式

界面样式
[Python] 纯文本查看 复制代码
import time
import tkinter as tk
from tkinter import ttk, messagebox
import win32gui
import win32con
from pynput.keyboard import Key, Controller
import threading

keyboard = Controller()

def get_window_titles():
    """返回所有可见窗口标题的列表"""
    titles = []
    def foreach_window(hwnd, lParam):
        if win32gui.IsWindowVisible(hwnd):
            length = win32gui.GetWindowTextLength(hwnd)
            if length > 0:
                window_title = win32gui.GetWindowText(hwnd)
                titles.append(window_title)
        return True
    win32gui.EnumWindows(foreach_window, 0)
    return titles

def switch_screen(window_title):
    try:
        # 激活指定标题的窗口
        def callback(hwnd, window_title):
            if win32gui.GetWindowText(hwnd) == window_title:
                win32gui.ShowWindow(hwnd, win32con.SW_RESTORE)
                win32gui.SetForegroundWindow(hwnd)
        win32gui.EnumWindows(callback, window_title)
        # 确保窗口激活后再发送快捷键
        time.sleep(0.5)

 
        with keyboard.pressed(Key.cmd):  
            with keyboard.pressed(Key.shift):
                keyboard.press(Key.left)
                keyboard.release(Key.left)
        messagebox.showinfo("操作成功", f"已尝试切换窗口: {window_title}")
    except Exception as e:
        messagebox.showerror("错误", f"发生错误: {str(e)}")

def on_select(event):
    """处理下拉菜单选项的选择"""
    selected_window = combo_var.get()
    if selected_window:
  
        threading.Thread(target=switch_screen, args=(selected_window,)).start()

# 创建主窗口
root = tk.Tk()
root.title("窗口切换工具")
root.geometry("300x100")

# 获取所有窗口标题并初始化下拉菜单变量
window_titles = get_window_titles()
combo_var = tk.StringVar(value=window_titles[0] if window_titles else '')

# 创建并放置下拉菜单
combo = ttk.Combobox(root, textvariable=combo_var, values=window_titles)
combo.bind('<<ComboboxSelected>>', on_select)
combo.pack(pady=20)

# 如果没有找到任何窗口,禁用下拉菜单
if not window_titles:
    combo.config(state='disabled')

# 运行主循环
root.mainloop()


在使用过程中  ,你只需要点击对应的应用程序就可以进行两个屏幕直接的相互切换  

同时我这里放出他的源代码 方便大家研究


同时我也放出成品 下载:https://wwxe.lanzoub.com/idPbS2py030f 密码:cxbm


切换应用程序

切换应用程序

免费评分

参与人数 4吾爱币 +10 热心值 +2 收起 理由
catoo1 + 1 谢谢@Thanks!
aatonghua + 1 + 1 用心讨论,共获提升!
liu2920 + 1 谢谢@Thanks!
风之暇想 + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

本帖被以下淘专辑推荐:

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

ancyxie 发表于 2025-3-10 21:53
使用中还发现,需要先启动游戏,然后再打开该工具,工具中才能显示游戏,更增加了难度,需要先启动游戏,然后切换到桌面,找到工具打开然后在选择游戏切换。
ancyxie 发表于 2025-3-10 21:49
dragon0824 发表于 2025-3-10 15:27
有些不方便  建议增加自定义快捷键呼出和关闭  切换失败弹窗口 成功不弹窗

附议,有的游戏没有窗口模式,进去后就全屏,还需要通过键盘按切换快捷键切几次弹出这个工具才能选择,如果设置了快捷键,就方便多了
alidadai 发表于 2025-3-8 19:44
lty9009 发表于 2025-3-8 20:39
双屏的福音
mimc 发表于 2025-3-8 20:45
我一般是直接用快捷键,win+shift+方向键
wangxiaokuai 发表于 2025-3-8 20:49
mimc 发表于 2025-3-8 20:45
我一般是直接用快捷键,win+shift+方向键

这个不错。。。学习了
yuku201 发表于 2025-3-8 21:02
感谢大佬,对全屏软件很好使。
10crimes 发表于 2025-3-9 00:20
下载下来看看vr串流时能不能用
wenxue8612 发表于 2025-3-9 09:36
双屏幕的福音,编程的竖屏挺好用
liu2920 发表于 2025-3-9 22:27
感谢分享
smallketsu 发表于 2025-3-10 00:04
感谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2026-8-23 00:55

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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