Python对Windows程序窗口操作 最大化 最小化 关闭

Python对Windows程序窗口操作 最大化 最小化 关闭

代码

import win32con
import win32gui
import time

''' hwnd = win32gui.FindWindow(lpClassName=None, lpWindowName=None) # 查找窗口,不找子窗口,返回值为0表示未找到窗口 hwnd = win32gui.FindWindowEx(hwndParent=0, hwndChildAfter=0, lpszClass=None, lpszWindow=None) # 查找子窗口,返回值为0表示未找到子窗口 win32gui.ShowWindow(hwnd, win32con.SW_SHOWNORMAL) SW_HIDE:隐藏窗口并激活其他窗口。nCmdShow=0。 SW_SHOWNORMAL:激活并显示一个窗口。如果窗口被最小化或最大化,系统将其恢复到原来的尺寸和大小。应用程序在第一次显示窗口的时候应该指定此标志。nCmdShow=1。 SW_SHOWMINIMIZED:激活窗口并将其最小化。nCmdShow=2。 SW_SHOWMAXIMIZED:激活窗口并将其最大化。nCmdShow=3。 SW_SHOWNOACTIVATE:以窗口最近一次的大小和状态显示窗口。激活窗口仍然维持激活状态。nCmdShow=4。 SW_SHOW:在窗口原来的位置以原来的尺寸激活和显示窗口。nCmdShow=5。 SW_MINIMIZE:最小化指定的窗口并且激活在Z序中的下一个顶层窗口。nCmdShow=6。 SW_SHOWMINNOACTIVE:窗口最小化,激活窗口仍然维持激活状态。nCmdShow=7。 SW_SHOWNA:以窗口原来的状态显示窗口。激活窗口仍然维持激活状态。nCmdShow=8。 SW_RESTORE:激活并显示窗口。如果窗口最小化或最大化,则系统将窗口恢复到原来的尺寸和位置。在恢复最小化窗口时,应用程序应该指定这个标志。nCmdShow=9。 '''

# 先等待3秒
time.sleep(3)

# 查找窗口句柄
hwnd = win32gui.FindWindow("YodaoMainWndClass", u"网易有道词典")
print(hwnd)

if hwnd != 0:
    # 若最小化,则将其显示,反之则最小化
    if win32gui.IsIconic(hwnd):
        win32gui.ShowWindow(hwnd, win32con.SW_SHOWMAXIMIZED)
    else:
        win32gui.ShowWindow(hwnd, win32con.SW_SHOWMINIMIZED)

    win32gui.SetForegroundWindow(hwnd)  # 设置前置窗口
    # win32gui.SetFocus(hwnd) # 设置聚焦窗口

    # 关闭窗口
    win32gui.PostMessage(hwnd, win32con.WM_CLOSE, 0, 0)

补充

获取窗口的ClassName(上面代码里的"YodaoMainWndClass") 推荐一个工具:WinSpy

注:python 版本号

C:\>python -V
Python 3.8.1
    原文作者:洪波Boven
    原文地址: https://blog.csdn.net/jr126/article/details/109647187
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞