python使用win32gui操作窗口

激活指定窗口

import win32gui
import win32con


def match_windows(win_title):
    """
    查找指定窗口
    :param win_title: 窗口名称
    :return: 句柄列表
    """

    def callback(hwnd, hwnds):
        if win32gui.IsWindowVisible(hwnd) and win32gui.IsWindowEnabled(hwnd):
            win_text = win32gui.GetWindowText(hwnd)
            # 模糊匹配
            if win_text.find(win_title) > -1:
                hwnds.append(hwnd)
        return True

    hwnds = []
    win32gui.EnumWindows(callback, hwnds)  # 列出所有顶级窗口,并传递它们的指针给callback函数
    return hwnds


def win_active(win_title):
    """
    激活指定窗口
    :param win_title: 窗口名称
    :return:
    """
    assert win_title, "win_title不能为空!"
    hwnds = match_windows(win_title)
    if hwnds:
        win32gui.ShowWindow(hwnds[0], win32con.SW_SHOWNORMAL)  # SW_SHOWNORMAL 默认大小,SW_SHOWMAXIMIZED 最大化显示
        win32gui.SetForegroundWindow(hwnds[0])
        win32gui.SetActiveWindow(hwnds[0])

最大化当前窗口

import win32gui
import win32con

hwnd = win32gui.GetForegroundWindow()
# 将当前窗口缩放至指定位置及大小
# win32gui.MoveWindow(hwnd, 0, 0, 1440, 900, True)
win32gui.ShowWindow(hwnd, win32con.SW_MAXIMIZE)
posted @ 2022-04-22 11:29  Rong_Z  阅读(4134)  评论(2编辑  收藏  举报