当前位置: 首页 > news >正文

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)

http://www.lryc.cn/news/237505.html

相关文章:

  • 手写消息队列(基于RabbitMQ)
  • kafka本地安装报错
  • 王者荣耀游戏
  • MobaXterm如何连接CentOS7的Linux虚拟机?Redis可视化客户端工具如何连接Linux版Redis?
  • python实现炫酷的屏幕保护程序
  • java学习part06数组
  • Java 的异常体系
  • V100 GPU服务器安装CUDA教程
  • 快速弄懂Python3.11中的新特性
  • 七,vi和vim
  • 湖科大计网:传输层
  • 设计模式(二)-创建者模式(3)-抽象工厂模式
  • [计算机网络]网络层概述
  • 猫12分类:使用yolov5训练检测模型
  • Kubernetes Dashboard部署ImagePullBackOff问题处理
  • 十四、Docker的基本操作
  • C#,数值计算——插值和外推,分段线性插值(Linear_interp)的计算方法与源程序
  • 详细讲解什么是单例模式
  • 在springBoot中同时使用mysql和MongoDB
  • 2023.11.19 hadoop之MapReduce
  • 力扣第841题 钥匙和房间 C++ DFS BFS 附Java代码
  • React 中 react-i18next 切换语言( 项目国际化 )
  • antd design 5 版本 文件上传
  • 【如何学习Python自动化测试】—— 浏览器操作
  • Python编程技巧 – 使用字典
  • el-tree 与table表格联动
  • Leetcode刷题详解——删除并获得点数
  • HTTP四种请求方式,状态码,请求和响应报文
  • Python - Wave2lip 环境配置与 Wave2lip x GFP-GAN 实战 [超详细!]
  • 2311rust,1.31版本更新