Python调用windows API实现屏幕截图

好处是

灵活

速度快

缺点是:

写法繁琐

不跨平台

import time

import win32gui, win32ui, win32con, win32api

def window_capture(filename):

hwnd = 0 # 窗口的编号,0号表示当前活跃窗口

# 根据窗口句柄获取窗口的设备上下文DC(Divice Context)

hwndDC = win32gui.GetWindowDC(hwnd)

# 根据窗口的DC获取mfcDC

mfcDC = win32ui.CreateDCFromHandle(hwndDC)

# mfcDC创建可兼容的DC

saveDC = mfcDC.CreateCompatibleDC()

# 创建bigmap准备保存图片

saveBitMap = win32ui.CreateBitmap()

# 获取监控器信息

MoniterDev = win32api.EnumDisplayMonitors(None, None)

w = MoniterDev[0][2][2]

h = MoniterDev[0][2][3]

# print w,h   #图片大小

# 为bitmap开辟空间

saveBitMap.CreateCompatibleBitmap(mfcDC, w, h)

# 高度saveDC,将截图保存到saveBitmap中

saveDC.SelectObject(saveBitMap)

# 截取从左上角(0,0)长宽为(w,h)的图片

saveDC.BitBlt((0, 0), (w, h), mfcDC, (0, 0), win32con.SRCCOPY)

saveBitMap.SaveBitmapFile(saveDC, filename)

beg = time.time()

for i in range(10):

window_capture("haha.jpg")

end = time.time()

print(end - beg)

python windows api截图_Python调用windows API实现屏幕截图相关推荐

  1. python调用百度api接口_python调用百度API

    标签: from urllib.request import urlopen import requests import json url = "http://apis.baidu.com ...

  2. python调用高德api路径规划_Python调用高德API实现批量地址转经纬度并写入表格的功能...

    本段代码是先将需要转换经纬度的地址爬取在 '地址.csv' 文件里,文件截图示例: 代码展示 # coding=utf-8 # SPL # 时间:2020/12/20 21:15 import csv ...

  3. vue部署到服务器 接口调用不了_Python 调用 Azure API 实现服务器自动部署

    由于在一个应用中需要通过 API 管理 Azure 的服务器,所以研究了一下 Azure API 的调用方法,中间遇到过很多坑,最后摸索出这一套可行的方法.原理就不多说了,想了解 Azure API ...

  4. mac下载的api文档怎么_Python调用百度API实现语音识别(二)

    Python调用百度API实现语音识别(二) 前言 上一篇文章里,大致介绍了百度官方 api 的一些前置准备工作. 想回顾的同学,可以看完本篇在下面找到历史链接. 今天就来上手实战编码,体验一下代码实 ...

  5. 【Python学习笔记】简单调用百度API应用

    #本文一切代码及理论均来自于郑秋生.夏敏捷二位老师主编<Python项目案例发 从入门到实践>一书,本人仅做微改.创作本文的目的仅为总结本人的学习过程和成果,借此巩固.可能存在许多疏漏之处 ...

  6. python交通调查数据处理_Python突破高德API限制爬取交通态势数据+GIS可视化(超详细)...

    一.需求: 爬取高德的交通态势API,将数据可视化为含有交通态势信息的矢量路网数据. 二.使用的工具: Python IDLE.记事本编辑器.ArcGIS 10.2.申请的高德开发者KEY(免费). ...

  7. python中如何写windows系统路径_Python在windows系统中表示文件路径

    Windows系统中,路径使用的是\.而Linux系统中,路径使用/.\同时也是转义字符,所以使用\的时候会有问题. 如果运气好,\后没有可以转义的字符,还是可以正常输出:print("C: ...

  8. 百度翻译api设置 java_Java调用百度API实现翻译

    下面是Java调用百度API实现翻译的具体步骤: 一.在写代码之前先在在百度翻译平台中,申请APP_ID 申请地址申请的详见点击打开链接 申请之后,会得到APP_ID和SECURITY_KEY 二.j ...

  9. 企查查、天眼查、启信宝API怎么批量操作调用,API接口应用场景。

    企查查API:企业工商信用信息API数据接口 - 企查查开放平台 天眼查API:天眼查开放平台 | API数据接口 | 企业数据 - 天眼查 (tianyancha.com) 启信宝API:启信宝数据 ...

最新文章

  1. 独家 | 手把手教你用Python的Prophet库进行时间序列预测
  2. C++STL之vector的说明及使用
  3. python各种推导式详解
  4. 【深度学习】270篇CVPR 2020代码开源的论文,全在这里了!
  5. Oracle 审计文件
  6. 2021泰州高考什么时候查成绩查询,2021年泰州学院高考录取结果什么时候出来及查询系统入口...
  7. html语言鼠标悬停特效,CSS3鼠标悬停文字幻影动画特效
  8. 360小程序将上线,机会在哪里?
  9. C++新特性探究(六):auto
  10. centos7.6 LNMP新版本
  11. simulink单位转换小迈步
  12. 夫妻宫十星所暗示的未来另一半
  13. 要点初见:Stable Diffusion NovelAI模型优质文字Tag汇总与实践【魔咒汇总】
  14. miniGUI源码分析:消息机制
  15. 「罗马人的故事 II 汉尼拔战记」读后感
  16. Windows 防火墙日志相关
  17. 解决uniapp map遮盖遮罩层
  18. 微信小程序——订阅消息与微信公众号模板消息
  19. 萨姆·阿尔特曼:如何获得成功(How To Be Successful)译文
  20. 夜神模拟器adb查看log

热门文章

  1. 2021-02-11-JavaWeb网站接入支付宝支付
  2. 批处理 b站视频批量合并
  3. 新浪云生成互联网页面及域名
  4. Connections could not be acquired from the unde...
  5. Win10如何设置快速锁屏?电脑怎么设置离开锁屏?
  6. 站内文案编辑seo关键词优化技巧
  7. 11度青春之《老男孩》
  8. 随机生成数字字母组合
  9. 杭电多校联赛2017年总结
  10. 可以跟小伙伴联机对战的五子棋,你会吗?今天用Python教大家搞定!!快上车!