You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取已打开窗口名称并切换到目标窗口?

实现Windows窗口查找、切换与最大化

方案一:使用pygetwindow(跨平台,简单易用)

  1. 安装依赖库
pip install pygetwindow pyrect
  1. 实现代码
import pygetwindow as gw

# 获取所有可见的打开窗口
all_windows = gw.getAllWindows()

# 筛选标题包含"Notepad"或"Facebook"的窗口
target_windows = [win for win in all_windows if "Notepad" in win.title or "Facebook" in win.title]

for win in target_windows:
    # 激活窗口(切换为主窗口)
    win.activate()
    # 最大化窗口
    win.maximize()

# 获取当前活动窗口的标题
active_window = gw.getActiveWindow()
if active_window:
    print(f"当前活动窗口:{active_window.title}")

方案二:使用pywin32(Windows专属,底层控制)

如果需要更底层的Windows API控制,可采用此方案:

  1. 安装依赖
pip install pywin32
  1. 实现代码
import win32gui
import win32con

def get_all_visible_windows():
    windows = []
    def enum_windows_callback(handle, extra_list):
        if win32gui.IsWindowVisible(handle):
            window_title = win32gui.GetWindowText(handle)
            if window_title:
                extra_list.append((handle, window_title))
    win32gui.EnumWindows(enum_windows_callback, windows)
    return windows

# 获取所有可见窗口
all_windows = get_all_visible_windows()

# 筛选目标窗口
target_handles = [handle for handle, title in all_windows if "Notepad" in title or "Facebook" in title]

for handle in target_handles:
    # 将窗口前置并激活
    win32gui.SetForegroundWindow(handle)
    # 最大化窗口
    win32gui.ShowWindow(handle, win32con.SW_MAXIMIZE)

# 获取当前活动窗口标题
active_handle = win32gui.GetForegroundWindow()
active_title = win32gui.GetWindowText(active_handle)
print(f"当前活动窗口:{active_title}")

说明

  • 两种方案都能避免pyautogui模拟按键的不稳定问题,直接通过窗口对象/句柄操作
  • 若需精确匹配窗口标题,可将判断条件中的in改为==
  • 存在多个目标窗口时,会依次激活并最大化每个窗口

内容的提问来源于stack exchange,提问作者Austin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 04:20:21