Python实现截屏的函数

yipeiwu_com6年前Python基础

Python实现截屏的函数

# -*- coding: cp936 -*- 
import time,Image 
import os, win32gui, win32ui, win32con, win32api 
def window_capture(dpath): 
 ''''' 
截屏函数,调用方法window_capture('d:\\') ,参数为指定保存的目录 
返回图片文件名,文件名格式:日期.jpg 如:2009328224853.jpg 
 '''
 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] 
 #print w,h   #图片大小 
 saveBitMap.CreateCompatibleBitmap(mfcDC, w, h) 
 saveDC.SelectObject(saveBitMap) 
 saveDC.BitBlt((0,0),(w, h) , mfcDC, (0,0), win32con.SRCCOPY) 
 cc=time.gmtime() 
 bmpname=str(cc[0])+str(cc[1])+str(cc[2])+str(cc[3]+8)+str(cc[4])+str(cc[5])+'.bmp'
 saveBitMap.SaveBitmapFile(saveDC, bmpname) 
 Image.open(bmpname).save(bmpname[:-4]+".jpg") 
 os.remove(bmpname) 
 jpgname=bmpname[:-4]+'.jpg'
 djpgname=dpath+jpgname 
 copy_command = "move %s %s" % (jpgname, djpgname) 
 os.popen(copy_command) 
 return bmpname[:-4]+'.jpg'
#调用截屏函数  
window_capture('d:\\')

以上所述就是本文的全部内容了,希望大家能够喜欢

相关文章

python的schedule定时任务模块二次封装方法

通过定时来执行任务,我们日常工作生活中会经常用到。python有schedule这个库,简单好用,比如,可以每秒,每分,每小时,每天,每天的某个时间点,间隔天数的某个时间点定时执行,另外...

Python引用模块和查找模块路径

模块间相互独立相互引用是任何一种编程语言的基础能力。对于“模块”这个词在各种编程语言中或许是不同的,但我们可以简单认为一个程序文件是一个模块,文件里包含了类或者方法的定义。对于编译型的语...

python常用知识梳理(必看篇)

接触python已有一段时间了,下面针对python基础知识的使用做一完整梳理: 1)避免‘\n'等特殊字符的两种方式: a)利用转义字符‘\' b)利用原始字符‘r' prin...

python之验证码生成(gvcode与captcha)

python之验证码生成(gvcode与captcha)

今天向大家总结一下python在做项目时用到的验证码生成工具:gvcode与captcha gvcode 全称:graphic-verification-code 安装: pip i...

利用Python开发微信支付的注意事项

利用Python开发微信支付的注意事项

前言 微信支付是由微信及财付通联合推出的移动支付创新产品。如今,随着微信支付的全面开放,相关需求也越来越多,很多开发人员进行微信支付开发及商家申请微信支付时,面临着诸多疑惑。 要想开发顺...