0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎么在Python中实现截图功能

科技绿洲 来源:Python实用宝典 作者:Python实用宝典 2023-11-03 15:32 次阅读

利用Python自带的win32api和win32con、win32gui等模块,我们能执行许多windows下的自动化操作。比如两个窗口的自动点击操作,从软件中的窗口复制文本到txt中,甚至是截图操作。

今天Python实用宝典就来讲讲怎么在Python中实现截图功能,以下教程默认您已经安装好了Python哦,没有的话见这个教程,python详细安装指南

1.获取窗口左上角及右下角坐标

图片

结果:

  1. F:push20190929>python 1.py

  2. (349,83,1549,1013)

其中窗口信息(x1, y1, x2, y2),(x1, y1)是窗口左上角的坐标,(x2, y2)是窗口右下角的坐标。我们可以利用这个信息配合PIL进行截图。但是在这之前,我们还要解决两个问题:

  1. 该窗口并不在当前的界面上,被其他的软件覆盖到底层中,这时候需要 高亮窗口
  2. 该窗口 被最小化怎么办

2.win32gui 高亮窗口

为了使得被叠在底层的窗口能放到最上层显示,我们需要拿到窗口的handle,对其执行高亮操作,其实很简单,我们刚刚获得坐标信息的时候已经得到handle了,只需要做一下简单的更改即可。

图片

3. 还原最小化窗口

还有一种特殊情况就是窗口被缩小了,这时候我们就需要还原最小化窗口,其实也非常简单,只要利用win32gui和win32con向该窗口发送一个信息即可。

图片

效果如图所示:

图片

4.截图

有了PIL模块和窗口的坐标后,我们想截图可非常简单。PIL 模块安装:
pip install pillow
安装完就可以试一下我们的完整代码了,如下:

图片

这个功能可好用了,比如说你需要监控一个窗口的运行状况,不可能时时刻刻都去观察它,你可以使用while循环不断调用我们的窗口截图脚本,先截图进行保存,不仅如此,它还能扩展到非常多不可思议的操作哦!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模块
    +关注

    关注

    7

    文章

    2484

    浏览量

    46530
  • WINDOWS
    +关注

    关注

    3

    文章

    3440

    浏览量

    87144
  • 自动化
    +关注

    关注

    28

    文章

    5037

    浏览量

    77731
  • python
    +关注

    关注

    51

    文章

    4675

    浏览量

    83467
  • 截图
    +关注

    关注

    0

    文章

    21

    浏览量

    4063
收藏 人收藏

    评论

    相关推荐

    截图功能打包后异常

    各位,我用labview实现截图功能软件的开发环境下,可以正常截图,但是生成应用程序后,截图
    发表于 03-21 15:14

    5种Python实现方式详解

    使用CPython吧。JythonJythonJVM上实现Python,由Java编写。Jython将Python源码编译成JVM字节码,由JVM执行对应的字节码。因此能很好的与J
    发表于 05-22 15:52

    DM368的截图功能

    请教一下DM368的DVSDK的demo有没有截图和录像功能的代码?
    发表于 06-21 11:52

    Python开发实时嵌入式系统的作用

    Raspberry Pi等单板计算机上被采用。随着这种广泛且不断增长的采用,人们可能想知道实时嵌入式系统是否存在Python的位置。以下是开发人员可能会发现Python
    发表于 01-11 18:22

    如今Python嵌入式系统起到了怎样的作用

    Python脚本语言实现硬件底层的访问和控制,比如说控制LED灯泡、LCD显示器、读取电压、控制电机、访问SD卡等。下面这篇美国EDN发布的文章,介绍了Python实时嵌入式系统
    发表于 03-26 08:30

    【技术杂谈】Python3.8新功能体验

    Python3.8运行结果如下可以看到,字典按照键创建顺序的逆序进行了输出。虽然只是非常小的一点功能提升,但是某些场景下对于字典对象的应用可能会起到非常关键的作用。2.位置参数
    发表于 07-11 04:00

    请问Python3.9的新功能是什么?

    3.9 的完整版本。一些最新功能令人难以置信,看到Python 3.9 发布后会被使用。我们将看到以下新功能,即字典联合运算符、类型提示、两种新的字符串方法、新的
    发表于 09-02 18:55

    请问Python如何实现vlookup函数的功能

    vlookup函数功能非常强大,那Python如何实现
    发表于 11-06 06:11

    windows下安装python linux下安装python masOS下安装python

    hello.py,代码内容如下所示。print('hello, world!')运行程序python hello.py或python3 hello.py结果练习1.Python交互式
    发表于 06-11 16:59

    如何使用python的serial模块实现基本的串口数据传输功能

    如何使用串口实现和单片机数据互传?如何使用python的serial模块实现基本的串口数据传输功能
    发表于 02-22 07:46

    如何在python实现ESP TOUCH协议?

    设备连接到路由器。 有人能告诉我如何在 python 实现 ESP TOUCH 协议吗?这样所有模块连同树莓派都可以从一个应用程序同时配置。
    发表于 05-17 08:20

    介绍Python 3 的功能 让人轻松地从Python 2迁移到Python 3

    为了使初学者能够轻松地从 Python 2 向 Python 3 实现迁移,我收集了一些 Python 3 的功能,希望对大家有所帮助。
    的头像 发表于 01-31 15:11 4231次阅读

    iPhone怎样长截图

    iOS的优秀毋庸多言,但这并不代表iOS无所不能。在一些小细节小功能上,iOS表现得不那么令人满意,例如在截屏方面,iOS很多地方都令人头疼。例如,如何在iPhone上实现截图,就让很多用户挠破头,每当遇到需要
    的头像 发表于 01-08 10:31 3900次阅读

    如何使用python实现截图自动存入Excel表

    如何使用python实现截图自动存入Excel表
    的头像 发表于 02-05 12:13 6974次阅读

    如何使用win32api实现自动唤醒并截图的操作

    利用Python自带的win32api和win32con、win32gui等模块,我们能执行许多windows下的自动化操作。比如两个窗口的自动点击操作,从软件中的窗口复制文本到txt中,甚至是截图
    的头像 发表于 10-30 11:13 497次阅读
    如何使用win32api<b class='flag-5'>实现</b>自动唤醒并<b class='flag-5'>截图</b>的操作