欢迎访问宙启技术站
智能推送

使用win32gui模块在python中实现Windows窗口操作

发布时间:2024-01-18 03:37:20

在Python中,可以使用win32gui模块来实现Windows窗口操作。win32gui是Python的一个第三方模块,可以通过pip命令安装。

以下是一个使用win32gui模块实现Windows窗口操作的例子:

import win32gui

# 获取窗口标题
def get_window_title(hwnd):
    return win32gui.GetWindowText(hwnd)

# 获取所有窗口
def get_all_windows():
    windows = []
    def callback(hwnd, windows):
        windows.append((hwnd, get_window_title(hwnd)))
    win32gui.EnumWindows(callback, windows)
    return windows

# 根据标题查找窗口
def find_window_by_title(title):
    hwnd = win32gui.FindWindow(None, title)
    return hwnd

# 最小化窗口
def minimize_window(hwnd):
    win32gui.ShowWindow(hwnd, win32gui.SW_MINIMIZE)

# 最大化窗口
def maximize_window(hwnd):
    win32gui.ShowWindow(hwnd, win32gui.SW_MAXIMIZE)

# 还原窗口
def restore_window(hwnd):
    win32gui.ShowWindow(hwnd, win32gui.SW_RESTORE)

# 关闭窗口
def close_window(hwnd):
    win32gui.PostMessage(hwnd, win32gui.WM_CLOSE, 0, 0)

# 示例使用
if __name__ == '__main__':
    # 获取所有窗口
    windows = get_all_windows()

    # 输出所有窗口标题和句柄
    for hwnd, title in windows:
        print("窗口标题:", title)
        print("窗口句柄:", hwnd)
        print("--------------------")

    # 查找指定标题的窗口
    hwnd = find_window_by_title("Notepad")
    if hwnd:
        print("找到指定标题的窗口")
        print("窗口标题:", get_window_title(hwnd))
        print("窗口句柄:", hwnd)
        print("--------------------")

        # 最小化窗口
        minimize_window(hwnd)
        # 等待3秒
        win32gui.Sleep(3000)
        # 还原窗口
        restore_window(hwnd)
        # 最大化窗口
        maximize_window(hwnd)
        # 等待3秒
        win32gui.Sleep(3000)
        # 关闭窗口
        close_window(hwnd)
    else:
        print("未找到指定标题的窗口")

上述代码中,get_window_title函数用于获取指定窗口的标题。get_all_windows函数用于获取所有窗口,并返回它们的句柄和标题。find_window_by_title函数根据窗口标题查找窗口,并返回它的句柄。minimize_windowmaximize_windowrestore_windowclose_window函数分别用于最小化、最大化、还原和关闭窗口。

在示例使用部分,首先获取了所有窗口,输出了它们的标题和句柄。然后,根据标题找到了一个示例窗口,并进行了最小化、还原、最大化和关闭等操作。

需要注意的是,win32gui模块需要依赖于pywin32模块,所以在运行代码前需要先安装pywin32模块。可以使用pip install pywin32命令进行安装。

以上就是使用win32gui模块在Python中实现Windows窗口操作的示例。通过这个模块,我们可以方便地对Windows窗口进行各种操作,实现自动化窗口控制等功能。