python 工具ScreenShoot
2024-10-21 03:16:39
环境:windows python3
# -*- coding: UTF-8 -*-
import time
import os, win32gui, win32ui, win32con, win32api
def window_capture(dpath,aname, srcbmp=[0, 0, None, None]):
hwnd = 0
hwndDC = win32gui.GetWindowDC(hwnd)
mfcDC=win32ui.CreateDCFromHandle(hwndDC)
saveDC=mfcDC.CreateCompatibleDC()
saveBitMap = win32ui.CreateBitmap()
MoniterDev=win32api.EnumDisplayMonitors(None,None)
w = MoniterDev[0][2][2]
h = MoniterDev[0][2][3]
if srcbmp[2]==None or (srcbmp[0]+srcbmp[2]>w):
srcbmp[2] = w
if srcbmp[3]==None or (srcbmp[1]+srcbmp[3]>w):
srcbmp[3] = h
saveBitMap.CreateCompatibleBitmap(mfcDC, srcbmp[2], srcbmp[3])
saveDC.SelectObject(saveBitMap)
#saveDC.BitBlt((0,0),(w, h) , mfcDC, (0,0), win32con.SRCCOPY)
ddss = (srcbmp[2], srcbmp[3])
saveDC.BitBlt((0,0), ddss , mfcDC, (srcbmp[0], srcbmp[1]), win32con.SRCCOPY)
bmpname=dpath+aname+'.bmp'
saveBitMap.SaveBitmapFile(saveDC, bmpname) window_capture("E:\\pic\\", "",[110, 540, 1515, 375])
最新文章
- .NET 实现并行的几种方式(三)
- Spring2:bean的使用
- kafka java代码实现消费者
- git 添加文件
- Redis windows安装配置与Jedis访问数据库
- 浅析:setsockopt()改善socket网络程序的健壮性
- 该不该将变量设为 null ?
- oracle分组查询
- Very simple problem - SGU 111(大数开方)
- flask开发restful api系列(2)
- eclipse 搭建Robotium环境--apk 环境搭建
- 用于辅助在 bootstrap-dialog 中的表现:app-jquery-dialog.js
- Eclipse For JavaEE安装、配置、测试
- 005 Spark快速入门的简单程序案例
- Top-Down笔记 #01# 计算机网络概述
- 【luogu P1962 斐波那契数列】 题解
- 解决cursor未关闭造成的死锁
- @Html.AntiForgeryToken() 源码分析,表单防伪码的生成
- 一步一步学Silverlight 2系列(32):图形图像综合实例—“功夫之王”剧照播放
- 7天学完Java基础之4/7