通过python实现windows桌面截图代码实例
作者:Maple_feng 时间:2023-11-19 03:46:27
这篇文章主要介绍了python实现windows桌面截图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
代码实例
import time
import win32api
import win32con
import win32gui
import win32ui
def get_desk():
# 获取桌面
hdesktop=win32gui.GetDesktopWindow()
# 分辨率适配
width=win32api.GetSystemMetrics(win32con.SM_CXVIRTUALSCREEN)
height=win32api.GetSystemMetrics(win32con.SM_CYVIRTUALSCREEN)
left=win32api.GetSystemMetrics(win32con.SM_XVIRTUALSCREEN)
top=win32api.GetSystemMetrics(win32con.SM_YVIRTUALSCREEN)
# 创建设备描述表
desktop_dc=win32gui.GetWindowDC(hdesktop)
img_dc=win32ui.CreateDCFromHandle(desktop_dc)
# 创建一个内存设备描述表
mem_dc=img_dc.CreateCompatibleDC()
screenshot=win32ui.CreateBitmap()
screenshot.CreateCompatibleBitmap(img_dc,width,height)# 为bitmap开辟空间
mem_dc.SelectObject(screenshot) # 将截图保存到Bitmap中
mem_dc.BitBlt((0,0),(width,height),img_dc,(left,top),win32con.SRCCOPY) # 截取从左上角(0,0)长宽为(w,h)的图片
# 保存到文件
time_tup=time.localtime(time.time())
format_time="%Y-%m-%d_%a_%H-%M-%S"
cur_time=time.strftime(format_time,time_tup)
screenshot.SaveBitmapFile(mem_dc,'{}.bmp'.format(cur_time))
# 释放内存
mem_dc.DeleteDC()
win32gui.DeleteObject(screenshot.GetHandle())
if __name__ == '__main__':
get_desk()
来源:https://www.cnblogs.com/angelyan/p/12196143.html
标签:python,windows,桌面,截图
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
python 中的@运算符使用
2023-10-24 22:23:46
![](https://img.aspxhome.com/file/2023/3/124743_0s.png)
Python中的基本数据类型介绍
2023-07-21 22:26:26
![](https://img.aspxhome.com/file/2023/4/120314_0s.png)
python pyheatmap包绘制热力图
2021-02-18 21:35:46
浅析SQL Server中包含事务的存储过程
2024-01-15 21:27:39
Spring+Mybatis+Mysql搭建分布式数据库访问框架的方法
2024-01-19 07:46:18
![](https://img.aspxhome.com/file/2023/7/77367_0s.png)
Python列表删除所有出现元素的两种方法
2023-03-05 23:24:08
Python3读写ini配置文件的示例
2023-05-29 22:59:21
Python删除列表中重复元素的七种方法举例
2021-08-16 06:10:15
Python简单获取网卡名称及其IP地址的方法【基于psutil模块】
2022-10-07 19:52:15
Python 保存矩阵为Excel的实现方法
2022-07-23 07:05:00
Django 通过JS实现ajax过程详解
2023-08-17 08:00:46
python实现向ppt文件里插入新幻灯片页面的方法
2021-09-01 15:58:22
Python基于更相减损术实现求解最大公约数的方法
2022-10-31 16:13:24
![](https://img.aspxhome.com/file/2023/1/118731_0s.png)
Python文件及目录操作实例详解
2023-11-26 12:50:27
注册表单之电子邮箱
2008-08-19 17:58:00
![](https://img.aspxhome.com/file/UploadPic/20088/19/200881918833479s.jpg)
Django REST 异常处理详解
2023-06-19 02:40:34
Vscode上使用SQL的方法
2024-01-14 07:02:19
![](https://img.aspxhome.com/file/2023/0/89700_0s.png)
Windows安装MySQL8.0.28.0.msi方式(图文详解)
2024-01-24 14:55:24
![](https://img.aspxhome.com/file/2023/6/115316_0s.png)
10个值得深思的PHP面试题
2023-11-15 00:35:37
![](https://img.aspxhome.com/file/2023/1/55681_0s.jpg)
详解Python list和numpy array的存储和读取方法
2022-05-04 05:58:10
![](https://img.aspxhome.com/file/2023/2/115462_0s.jpg)