python操作windows窗口,python库pygetwindow使用详解

文章目录

  • 一、pygetwindow模块简介
  • 二、pygetwindow常用方法
  • 1、常用方法
  • 2、window常用方法
  • 一、pygetwindow模块简介

    pygetwindow是一个Python第三方库,用于获取、管理和操作窗口。它提供了一些方法和属性,使得在Python程序中可以轻松地执行各种窗口操作。

    通过pygetwindow库,你可以:
    获取当前系统中所有打开窗口的列表。
    根据窗口标题、窗口句柄等属性获取特定的窗口对象。
    激活、最小化、最大化和关闭窗口。
    获取和设置窗口的位置、大小和几何属性。
    判断窗口是否最小化或可见。
    等待窗口准备好,以及等待窗口存在。
    移动和调整窗口的位置和大小。

    pygetwindow库的目的是简化在Python中操作窗口的过程,它对多个平台(如Windows、Mac和Linux)都提供良好的支持,并且易于使用。可以在自动化测试、GUI脚本、窗口管理等场景中广泛应用。

    本文只介绍在windows系统中使用。
    安装:

    pip install pygetwindow
    

    二、pygetwindow常用方法

    1、常用方法

    import pygetwindow as gw
    
    # 获取当前活跃窗口,返回类型:Win32Window
    window = gw.getActiveWindow()
    
    # 获取当前活跃窗口的 title名
    gw.getActiveWindowTitle()
    
    # 获取所有打开窗口标题的列表
    # 结果:('', 'C:\\WINDOWS\\system32\\cmd.exe - pipenv  shell - python' ...)
    gw.getAllTitles()
    
    # 获取所有打开窗口的列表,返回类型是Win32Window的列表
    windows = gw.getAllWindows()
    for window in windows:
    print(window)
    
    # 返回位于给定屏幕坐标(x, y)处的窗口
    gw.getWindowsAt(x, y)
    
    # 根据标题名获取窗口列表
    gw.getWindowsWithTitle(title)
    

    2、window常用方法

    通过pygetwindow获取到window之后,就可以对window进行一些操作:

    import pygetwindow as gw
    # 获取一个窗口,此处我用记事本打开一个txt文件
    windows = gw.getWindowsWithTitle('1.txt - Notepad')
    # 获取第一个
    w = windows[0]
    
    # 获取标题名
    w.title
    
    # 将指定窗口设为活跃窗口(最小化时无法打开)
    w.activate()
    # 窗口是否是活跃窗口
    w.isActive
    
    # 获取窗口的上、下、左、右像素值
    # 还有获取上和下、左和上等等一系列方法
    w.bottom
    w.top
    w.left
    w.right
    # 获取上左以及宽高:Box(left=377, top=317, width=528, height=614)
    w.box
    
    # 获取宽高
    w.width
    w.height
    
    # 隐藏和显示窗口(真正看不到了)
    w.hide()
    w.show()
    
    # 关闭窗口
    w.close()
    
    # 窗口是否是最大化/最小化
    w.isMaximized
    w.isMinimized
    
    # 将窗口最大化
    w.maximize()
    
    # 将窗口最小化
    w.minimize()
    
    # 将最大化/最小化的窗口还原
    w.restore()
    
    # 右移x,左移y
    w.move(x, y)
    w.moveRel(x, y)
    # 移动至屏幕的x, y处
    w.moveTo(x, y)
    
    # 窗口宽度扩大、高度扩大(往右下角扩大)
    w.resize(widthOffset, heightOffset)
    w.resizeRel(widthOffset, heightOffset)
    # 设置窗口大小
    w.resizeTo(newWidth, newHeight)
    

    作者:秃了也弱了。

    物联沃分享整理
    物联沃-IOTWORD物联网 » python操作windows窗口,python库pygetwindow使用详解

    发表回复