鱼C论坛

 找回密码
 立即注册
查看: 3991|回复: 6

python如何实现--最小化的后台窗口截屏?

[复制链接]
发表于 2022-9-27 17:00:25 | 显示全部楼层 |阅读模式
60鱼币
网上搜了好久都没有对应的答案,基本都是只能截取前台窗口的截图,或者是只能截取部分被遮挡的非最小化窗口的截屏。

求大神解答,感激!

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-9-27 17:35:41 From FishC Mobile | 显示全部楼层
最小化后的窗口咋截屏,它没有屏
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-9-27 19:52:09 | 显示全部楼层
首先,原理上,只要人眼可见的都可以截屏(截图),但最小化后的窗口内容 已经“不可见”,故不能截图
但对于有标准输入stdin和标准输出stdout 的 “数据流” ,通过一些方法或接口,应该可以获取到(但肯定不是很简单)。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-9-28 08:33:44 | 显示全部楼层
可不可以通过读取窗口的源代码,再还原成最小化窗口的形式获得?也就是用python获取最小化窗口后的源代码,再通过python将源代码还原成最小化窗口?说起来很绕口,感觉比较难实现。不知道截这个图具体要用来做什么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-9-28 14:29:34 | 显示全部楼层
顶顶
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-9-28 14:54:10 | 显示全部楼层

Pillow库有个模块叫做ImageGrab,它的grab函数可以帮你截图。如果传入左上与右下角坐标就截取指定范围的图片,省略则截取全屏。代码如下:
from PIL import ImageGrab

im = ImageGrab.grab((0, 0, 600, 800))  # 左上角(0, 0) 右下角(600, 800)
im.save('screenshot_1.jpg')

im = ImageGrab.grab()  # 全屏截图
im.save('full.jpg')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-10-1 11:03:10 | 显示全部楼层
本帖最后由 叼辣条闯世界 于 2022-10-1 11:05 编辑

安装pillow模块
代码:
from PIL import ImageGrab
sc = ImageGrab.grab()  # 全屏截图
sc.save('cut.jpg')#保存为cut.jpg
最后把文件后缀改为pyw

注:pyw不会弹出dos窗口,关闭需在任务管理器结束pythonw进程
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-23 20:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表