Python 指定窗口截屏
原文:https://blog.csdn.net/zhuisui_woxin/article/details/84345036
对后台窗口截图保存
用这个工具查看窗口的信息:窗口查找工具 WinSpy-1.0.3
#对后台窗口截图 import win32gui, win32ui, win32con from ctypes import windll from PIL import Image import cv2 import numpy #获取后台窗口的句柄,注意后台窗口不能最小化 hWnd = win32gui.FindWindow("Chrome_WidgetWin_1","在线翻译_有道 - Google Chrome") #窗口的类名可以用Visual Studio的SPY++工具获取 #获取句柄窗口的大小信息 left, top, right, bot = win32gui.GetWindowRect(hWnd) width = right - left height = bot - top #返回句柄窗口的设备环境,覆盖整个窗口,包括非客户区,标题栏,菜单,边框 hWndDC = win32gui.GetWindowDC(hWnd) #创建设备描述表 mfcDC = win32ui.CreateDCFromHandle(hWndDC) #创建内存设备描述表 saveDC = mfcDC.CreateCompatibleDC() #创建位图对象准备保存图片 saveBitMap = win32ui.CreateBitmap() #为bitmap开辟存储空间 saveBitMap.CreateCompatibleBitmap(mfcDC,width,height) #将截图保存到saveBitMap中 saveDC.SelectObject(saveBitMap) #保存bitmap到内存设备描述表 saveDC.BitBlt((0,0), (width,height), mfcDC, (0, 0), win32con.SRCCOPY) #如果要截图到打印设备: ###最后一个int参数:0-保存整个窗口,1-只保存客户区。如果PrintWindow成功函数返回值为1 result = windll.user32.PrintWindow(hWnd,saveDC.GetSafeHdc(),0) print(result) #PrintWindow成功则输出1 #保存图像 ##方法一:windows api保存 ###保存bitmap到文件 saveBitMap.SaveBitmapFile(saveDC,"img_Winapi.bmp")
通过裁剪的方式 对窗口截屏
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构