通过python实现windows桌面截图代码实例
这篇文章主要介绍了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()
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Python实现屏幕截图的两种方式
使用windows API 使用PIL中的ImageGrab模块 下面对两者的特点和用法进行详细解释. 一.Python调用windows API实现屏幕截图 好处是 灵活 速度快 缺点是: 写法繁琐 不跨平台 import time import win32gui, win32ui, win32con, win32api def window_capture(filename): hwnd = 0 # 窗口的编号,0号表示当前活跃窗口 # 根据窗口句柄获取窗口的设备上下文DC(Divice C
-
Windows平台Python编程必会模块之pywin32介绍
在Windows平台上,从原来使用C/C++编写原生EXE程序,到使用Python编写一些常用脚本程序,成熟的模块的使用使得编程效率大大提高了. 不过,python模块虽多,也不可能满足开发者的所有需求.而且,模块为了便于使用,通常都封装过度,有些功能无法灵活使用,必须直接调用Windows API来实现. 要完成这一目标,有两种办法,一种是使用C编写Python扩展模块,或者就是编写普通的DLL通过python的ctypes来调用,但是这样就部分牺牲掉了Python的快速开发.免编译特性. 还
-
python同步windows和linux文件
写python脚本的初衷,每次在windows编辑完文件后,想同步到linux上去,只能够登录服务器,然后再利用网络copy,重复性很大,就想着能不能写一个小脚本帮我同步 逻辑:比对本地和服务器文件的md5,如果md5不一致,则备份服务器上的文件,将本地的给上传上去 代码分为windows端和服务器端,有些东西,都让python一个做了,写着有点累,就想着,能否服务端提供一个端口,windows去调用这个接口,来完成一部分工作 python代码如下: 需要额外安装的包为是paramiko,安装方
-
windows下Python安装、使用教程和Notepad++的使用教程
一.Python下载 1.进入Python官网:https://www.python.org/ 2.选择windows版本(Download > Windows) 3.点击下载Python3最新版(Latest Python 3 Release - Python 3.7.3).也可以选择较低版本,如Python3.6.8 二.Python安装 点击运行Python安装包 勾选"Add pyhon 3.6 to PATH ",点击"Install Now"进行默
-
python3应用windows api对后台程序窗口及桌面截图并保存的方法
python的版本及依赖的库的安装 #版本python 3.7.1 pip install pywin32==224 pip install numpy==1.15.3 pip install opencv-python==3.4.2.16 pip install opencv-contrib-python==3.4.2.16 pip install Pillow-PIL==0.1.dev0 对后台窗口截图 #对后台窗口截图 import win32gui, win32ui, win32con
-
对Python获取屏幕截图的4种方法详解
Python获取电脑截图有多种方式,具体如下: PIL中的ImageGrab模块 windows API PyQt pyautogui PIL中的ImageGrab模块 import time import numpy as np from PIL import ImageGrab img = ImageGrab.grab(bbox=(100, 161, 1141, 610)) img = np.array(img.getdata(), np.uint8).reshape(img.size[1]
-
使用Python解决Windows文件名非用反斜杠问题(python 小技巧)
在编程过程中,我们往往会遇到一个小麻烦--微软 Windows 系统在文件夹名之间使用反斜杠字符,而几乎所有其它的计算机(操作系统)都使用正斜杠: Windows filenames: C:\some_folder\some_file.txt Most other operating systems: /some_folder/some_file.txt 这是由于上世纪 80 年代早期计算机历史上的一个小意外.「MS-DOS」的第一版使用了正斜杠字符来指定命令行选项.当微软在「MS-DOS 2.
-
windows中安装Python3.8.0的实现方法
操作系统:Windows10 64bit Python版本:3.8.0 下载地址:https://www.python.org/downloads/release/python-380/,选择下方的Windows x86-64 executable installer 安装步骤: 双击安装文件python-3.8.0-amd64.exe 勾选下方"Add Python 3.8 to PATH",并选择"Customize installation" 把Optiona
-
通过python实现windows桌面截图代码实例
这篇文章主要介绍了python实现windows桌面截图代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码实例 import time import win32api import win32con import win32gui import win32ui def get_desk(): # 获取桌面 hdesktop=win32gui.GetDesktopWindow() # 分辨率适配 width=win32api.GetSy
-
Python 获取windows桌面路径的5种方法小结
这里介绍了5中python获取window桌面路径的方法,获取这个路径有什么用呢?一般是将程序生成的文档输出到桌面便于查看编辑. 前两个方法是通过注册表来获取当前windows桌面绝对路径,比较推荐使用第一个,因为不需要安装额外的扩展,其他的可以了解下 1.用内置的winreg(推荐) import _winreg def get_desktop(): key = _winreg.OpenKey(_winreg.HKEY_CURRENT_USER,r'Software\Microsoft\Win
-
python+pygame简单画板实现代码实例
疑问:pygame已经过时了吗? 过没过时不知道,反正这玩意官方已经快四年没有更新了.用的人还是蛮多的(相对于其他同类项目),不过大家都是用来写写小东西玩一玩,没有人用这个做商业项目.pygame其实就是SDL的python绑定,SDL又是基于OpenGL,所以也有人用pygame+pyOpenGL做3D演示什么的.真的要写游戏的话pygame的封装比较底层,不太够用,很多东西都要自己实现(当然自由度也高).文档也不太好,好在前人留下了很多文章.拿来练手倒是很不错的选择,可以用来实践很多2D游戏
-
通过python连接Linux命令行代码实例
这篇文章主要介绍了通过python连接Linux命令行代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码如下 #!/usr/bin/python # -*- coding: utf-8 -*- '''https://www.ibm.com/developerworks/cn/linux/l-cn-pexpect2/index.html''' import pexpect import types username = "root&qu
-
Python文件操作基本流程代码实例
文件操作之基本流程 #文本 近日,上市药企--浙江莎普爱思药业股份有限公司频遭质疑. 12月2日,一篇名为<一年卖出7.5亿的洗脑"神药",请放过中国老人>的文章称, 多位眼科医生并不认可莎普爱思滴眼液的"白内障防治功效".质疑者认为, 莎普爱思滴眼液是"假科普,真营销",通过广告误导患者. 针对质疑,莎普爱思3日晚发布的公告称, 0.5%苄达 赖氨酸滴眼液已于上世纪90年代通过了临床试验, 是一种安全的.有效的抗白内障药物.假的 #
-
python的unittest测试类代码实例
nittest单元测试框架不仅可以适用于单元测试,还可以适用WEB自动化测试用例的开发与执行,该测试框架可组织执行测试用例,并且提供了丰富的断言方法,判断测试用例是否通过,最终生成测试结果.今天笔者就总结下如何使用unittest单元测试框架来进行WEB自动化测试. 题目: 编写一个名为Employee的类,其方法__init__()接受名.姓和年薪,并将它们都存储在属性中.编写一个名为give_raise()的方法,它默认将年薪增加5000美元,但也能够接受其他的年薪增加量. 为Employe
-
python打开windows应用程序的实例
可以加上时间判断,让程序在固定的时间启动. #coding=utf-8 #!/usr/bin/python import os def open_app(app_dir): os.startfile(app_dir) if __name__ == "__main__": app_dir = r'C:\Program Files\Sublime Text 2\sublime_text.exe' open_app(app_dir) 以上这篇python打开windows应用程序的实例就是小
-
python识别文字(基于tesseract)代码实例
这篇文章主要介绍了python识别文字(基于tesseract)代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Ubuntu版本: 1.tesseract-ocr安装 sudo apt-get install tesseract-ocr 2.pytesseract安装 sudo pip install pytesseract 3.Pillow 安装 sudo pip install pillow 开始写代码: from PIL impo
-
Python csv模块使用方法代码实例
这篇文章主要介绍了Python csv模块使用方法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 import csv def openSCV(filename): with open("renting.csv",'r',encoding = 'utf_8_sig') as f: f_csv = csv.reader(f) for row in f_csv: print(row) def Test1(): headers =
-
Python进度条的制作代码实例
这篇文章主要介绍了Python进度条的制作代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 import sys,time #导入模块 for i in range(50): #进度条的长度 sys.stdout.write("#") #进度条的内容,这里要注意了,pycharm有可能不显示write的方法 sys.stdout.flush() #刷新缓存 time.sleep(0.5) #间隔时间,和shell的sleep差不
随机推荐
- php下FCKeditor2.6.5网页编辑器的使用方法
- 破解Vista激活机制三大方法总结
- java正则表达式的应用 java读取文件并获取电话号码
- JavaScript去除空格的三种方法(正则/传参函数/trim)
- php抓取网站图片并保存的实现方法
- MySQL事务处理与应用简析
- Windows下使用Cygwin编译MySQL客户端
- Javascript的常规数组和关联数组对比小结
- PHP实现通过Luhn算法校验信用卡卡号是否有效
- 一个shell写的ping函数
- 做一个优秀程序员应该知道的15件事
- CSS编辑工具Topstyle轻松打造网页风格
- jQuery 右下角滑动弹出可关闭重现层完整代码
- 详解Node.js开发中的express-session
- JS特效实现图片自动播放并可控的效果
- Javascript必知必会(四)js类型转换
- Webshell是如何绕过防火墙提升权限的
- Java Thread中start()和run()的区别_动力节点Java学院整理
- 详细讲解Android中使用LoaderManager加载数据的方法
- APPN配置方法包括DLSW